Programmatically disabling/enabling notifications

后端 未结 3 1726
自闭症患者
自闭症患者 2020-12-06 01:50

Is there a way I can programmatically disable notifications of individual programs? I\'d like to build a list of all programs installed on my device then check the ones I do

相关标签:
3条回答
  • 2020-12-06 02:30

    no you cant, maybe on rooted device, but it's another story...

    0 讨论(0)
  • 2020-12-06 02:43

    It is not possible to disable notifications from other apps. you can only control notifications generated by your own app.

    Turn off notifications of an app programatically on Android

    Android: is it possible to remove a system-managed notification programmatically?

    0 讨论(0)
  • 2020-12-06 02:45

    You can do it with shared preferences.

    You can set notification settings in Shared Preferences and later if you receive any message then you can decide to show Notification or not.

    Below Snippet is for ReactNative but you can use same for Native Apps as well

      /**
         * Toggle Notification Setting
         *
         * @param showNotifcation
         */
        @ReactMethod
        public void toggleNotification(boolean showNotifcation) {
    
            if (showNotifcation) {
                Toast.makeText(reactAppContext, "Notification Enabled", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(reactAppContext, "Notification Disabled", Toast.LENGTH_SHORT).show();
            }
            getPrefernceHelperInstace().setBoolean(reactAppContext, ENABLE_NOTIFICATION, showNotifcation);
        }
    

    Later in Message service class

    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");
    
            }
        }
    

    See Code SNippet

    https://github.com/hiteshsahu/react-native-fcm-android/blob/master/android/app/src/main/java/com/hitesh_sahu/fcm/service/ReactFireBaseMessagingService.java

    0 讨论(0)
提交回复
热议问题