权限-通知监听NotificationListener
版权声明:本文为砷碲原创文章,未经允许,禁止转载本文链接:https://sdpro.top/blog/html/article/1243.html
专栏收录该内容
是否启用通知监听权限
通过 Settings.Secure.getString
获取启用了通知监听权限的列表,然后根据其中是否包含来判断
列表的字符串是这样的结构:应用包名称1/通知监听类全路径1:应用包名称2/通知监听类全路径2
例如包名为 shendi.notify
,通知监听类在包下,名称为 MyNotifyService
shendi.notify/shendi.notify.MyNotifyService
所以判断当前应用是否启用通知监听权限代码如下
public static boolean isNotificationListenerEnabled(Context context) {
String packageName = context.getPackageName();
// 获取系统中所有启用了通知监听权限的包名
String enabledListeners = Settings.Secure.getString(context.getContentResolver(), "enabled_notification_listeners");
System.out.println(enabledListeners);
if (enabledListeners != null && !TextUtils.isEmpty(enabledListeners)) {
String[] packages = enabledListeners.split(":");
for (String packageNameInList : packages) {
if (packageNameInList.contains(packageName)) {
return true;
}
}
}
return false;
}
跳转系统通知监听页
当没开通通知监听权限,一般需要跳转,代码如下
Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS);
context.startActivity(intent);
END
本文链接:https://sdpro.top/blog/html/article/1243.html♥ 赞助 ♥
尽管去做,或许最终的结果不尽人意,但你不付出,他不付出,那怎会进步呢?