我有一个需要忽略打盹模式的应用程序,它要求用户以通常的方式将其添加到未优化的应用程序列表中:
Intent intent = new Intent();
String packageName = getPackageName();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
startActivityForResult(intent, BATTERY_OPTIMIZATION_REQUEST);
在onActivityResult()
我检查他是否真的将其添加到“未优化”列表中。到目前为止一切顺利。我的应用程序启动它的服务,该服务获取并持有 WAKE_LOCK 并永久工作(是的,我知道这会耗尽电池,但我的用例需要它)。
我的问题是,稍后用户可能会决定从“未优化”列表中删除该应用程序。
我的问题:
是否有我可以注册的广播以获得电池优化设置更改的通知?
如果没有,是否有另一种方法来检测我的应用程序的电池优化设置已更改,而不是定期检查其状态
isIgnoringBatteryOptimizations()
最初我认为在这种情况下应用程序将被停止(当权限被删除时)但事实并非如此。