Android 8.0中如何阻止用户检测通知通道

Arn*_* M. 6 android android-8.0-oreo notification-channel

当用户阻止由我的应用程序创建的通知通道时,我的应用程序会收到任何回调,或者以后可以检测到它吗?

roc*_*cko 6

从 Android P 开始,有一个系统广播:https : //developer.android.com/reference/android/app/NotificationManager.html#ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED

没有这个,就不可能可靠地将我们的后端推送服务器与频道设置同步(你必须轮询......)


Sam*_*ert 1

不,API 不提供此类侦听器。每次发出通知之前,您都必须进行检查。

来自开发者文档

要查明用户是否阻止了通知通道,您可以调用 getImportance()。如果通知通道被阻止,则 getImportance() 返回 IMPORTANCE_NONE。