我不是针对 API 26,但我想知道用户何时禁用了“后台活动”,如文档所述(以便在发生时显示通知)。
有没有一些意图可以监听?还是其他编程方式可以知道当前是否已被禁用?
我成功找到了一种方法来知道用户是否禁用了“后台活动”。 不确定这是最好的解决方案,但看起来它正在运行:
在我的粘性服务的onDestroy中,我使用任务调度器(JobScheduler)安排了一个带有时间限制的作业。
当作业运行时,我检查我的粘性服务是否仍在被销毁,而不是重新启动。 如果是这种情况,我尝试从作业开始服务,并检查是否成功:
ComponentName componentName = startService(serviceIntent);
if(componentName == null){
// we could not start the service, so user probably disabled the background activity
}