这种情况发生在小米的设备上,至少在仿真器中是不会发生的。
为了更清楚地了解正在发生的情况,如下所示:
我需要电池优化禁用,以正确运行一些服务从我的应用程序。
但是在不改变配置的情况下,会发生的情况是,当我再次启动应用程序时,我会让对话框警告电池没有被禁用,并且需要再次使用它,因为它已经被再次启用。
我不太关心这是否是由于手机的个性化层,而且它通常在其他设备上工作,因为我不希望让该应用程序在任何手机终端上100%工作,但如果在大多数设备中再次启用电池优化,这将是一个问题。
有没有办法避免自动电池优化启用?或者,至少,这种情况通常只发生在一些带有该API的设备上吗?
发布于 2020-10-27 13:21:38
遗憾的是,对于某些供应商来说,电池优化权限实际上不允许应用程序忽略电池优化:)
华为、小米、美祖和其他一些供应商可以阻止你的应用程序完成它的工作,即使它拥有所有的权限。因此,开发人员必须想出一些解决办法。此外,你也可以联系小米技术支持部门,询问他们是否有办法让你的应用程序正常工作。有时候他们能帮上忙。
至于请求许可。我们在应用程序中使用了以下代码,但尚未收到任何投诉:
if (isMarshmallowOrHigher()) {
val pm = getSystemService(POWER_SERVICE) as PowerManager
val isIgnoringBatteryOptimizations = pm.isIgnoringBatteryOptimizations(
packageName
)
if (!isIgnoringBatteryOptimizations) {
val intent = Intent()
intent.action = Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
intent.data = Uri.parse("package:$packageName")
startActivityForResult(intent, ignoreOptimizationsRequest)
}
}
https://stackoverflow.com/questions/64554339
复制相似问题