androidservicenotificationssettings

Check if user has granted NotificationListener access to my app


I'm using this code to open Notification Listener Settings:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

I would like to check if the user has granted authorization to my app. I already tried to check if my NotificationListenerService is running, but it seems that it gets halted and restarted by the system (even if I return START_STICKY).


Solution

  • I was wrong, checking if service is running works:

        private boolean isNLServiceRunning() {
            ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    
            for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
                 if (NLService.class.getName().equals(service.service.getClassName())) {
                      return true;
                 }
            }
    
            return false;
        }