android M 如何获取设置应用通知开关状态

最近项目需要,需要关闭应用通知,并在一定情况打开。于是在Settings 源码中找到了相关设置流程,提炼出来就是很简单的几句,贴出来分享给大家。

导包:

import   android.app.INotificationManager;

import  android.content.pm.PackageManager;.

import  android.content.pm.ApplicationInfo ;

import  android.content.Context;


代码:

INotificationManager  sINM=INotificationManager .Stub.asInterface(ServiceManager.getService(Context.NOTIFICATION_SERVICE));


void  setNotificationEnable(String packageName,boolean enable){                     //设置通知开关状态

       try{

              ApplicationInfo  info =getPackageManager().getApplicationInfo(packageName,PackageManager.GET_META_DATA);

              sINM.setNotificationsEnabledForPackage(packageName,info.uid,enable);

       }catch(Exception e){

             e.printStackTrace();

      }

}

boolean  getNotificationEnable(String packageName){                     //获取通知开关状态

       try{

              ApplicationInfo  info =getPackageManager().getApplicationInfo(packageName,PackageManager.GET_META_DATA);

              return   sINM.areNotificationsEnabledForPackage(packageName,info.uid);

       }catch(Exception e){

             e.printStackTrace();

             reture   false;

      }

}






你可能感兴趣的:(Android)