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

    xiaoxiao2021-03-25  128

    最近项目需要,需要关闭应用通知,并在一定情况打开。于是在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;

          }

    }

    转载请注明原文地址: https://ju.6miu.com/read-16224.html

    最新回复(0)