手动开启和关闭notificationListenerService

Manually switch notificationListenerService on and off

您将如何使用按钮手动打开和关闭 notificationListenerService?

目前服务在安全->通知中允许应用程序的那一刻开始,但是我不确定如何防止这种情况并改为手动进行。

我知道有诸如 startService() 之类的函数,但不确定如何针对服务实现它。

谢谢

您可以使用 PackageManager.setComponentEnabledSetting() 以编程方式启用或禁用服务:

PackageManager packageManager = getPackageManager();
ComponentName notificationListenerService = new ComponentName(this,
    YourNotificationListenerService.class);

// The new state of the service - either enabled or disabled
int newState = enableService
    ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
    : PackageManager.COMPONENT_ENABLED_STATE_DISABLE;

packageManager.setComponentEnabledSetting(
    notificationListenerService,
    newState,
    PackageManager.DONT_KILL_APP);