正如在
What's new with Notifications in Android N talk
一
NotificationListenerService
将永远与系统绑定。因为他们总是受到制度的约束,所以它永远不会被摧毁。
从Android N开始,您可以拨打
requestUnbind()
停止倾听
NotificationListenerService.requestRebind()
重新开始,但在此之前,没有特定的方法可以使系统从您的
通知侦听器服务
.
当然,您可以使用以下代码完全禁用该服务:
PackageManager pm = getApplicationContext().getPackageManager();
ComponentName componentName = new ComponentName(getPackageName(),
".YourNotificationListenerService");
pm.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
这将阻止服务完全运行。不幸的是,如果系统暂时将您的
通知侦听器服务
(因为它多次无法绑定到它),所以只能在永久/半永久禁用它时使用。