Android 以编程方式禁用/启用通知

Android 以编程方式禁用/启用通知,android,Android,有没有一种方法可以通过编程禁用单个程序的通知?我想建立一个在我的设备上安装的所有程序的列表,然后检查那些我不想接收通知的程序,并点击一个按钮禁用/启用它们 我正在尝试构建一个应用程序,允许我通过点击按钮启用部分/所有通知,并通过点击按钮或在预定时间段后重新启用它们。Android支持吗?NotificationManager似乎没有这些属性。不,您不能,可能是在根设备上,但这是另一回事……不可能禁用来自其他应用程序的通知。您只能控制自己的应用程序生成的通知 您可以通过共享首选项来完成此操作。

有没有一种方法可以通过编程禁用单个程序的通知?我想建立一个在我的设备上安装的所有程序的列表,然后检查那些我不想接收通知的程序,并点击一个按钮禁用/启用它们


我正在尝试构建一个应用程序,允许我通过点击按钮启用部分/所有通知,并通过点击按钮或在预定时间段后重新启用它们。Android支持吗?NotificationManager似乎没有这些属性。

不,您不能,可能是在根设备上,但这是另一回事……

不可能禁用来自其他应用程序的通知。您只能控制自己的应用程序生成的通知


您可以通过共享首选项来完成此操作。

您可以在共享首选项中设置通知设置,稍后,如果收到任何消息,您可以决定是否显示通知

下面的代码片段用于ReactNative,但您也可以将其用于本机应用程序

稍后在消息服务类中

public class ReactFireBaseMessagingService extends FirebaseMessagingService {

    private NotificationUtils notificationUtils;

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

        //Check if Notn are Enabled?
        if (getPrefernceHelperInstace().getBoolean(getApplicationContext(),
                ENABLE_NOTIFICATION, true)) {

          //Show Notification
        } else {
            Log.e(TAG, "ReactFireBaseMessagingService: Notifications Are Disabled by User");

        }
    }
请参阅代码片段


你可以看到下面的答案可能对你完全有帮助。马修·皮尔斯问了一些别的问题。他想创建一些可以处理全局通知管理器的应用程序。当应用程序关闭时,它不适用于通知。
public class ReactFireBaseMessagingService extends FirebaseMessagingService {

    private NotificationUtils notificationUtils;

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

        //Check if Notn are Enabled?
        if (getPrefernceHelperInstace().getBoolean(getApplicationContext(),
                ENABLE_NOTIFICATION, true)) {

          //Show Notification
        } else {
            Log.e(TAG, "ReactFireBaseMessagingService: Notifications Are Disabled by User");

        }
    }