我以编程方式实施了忽略电池优化功能。 我发现了很多问题和答案,但我想知道 IGNORE_BATTERY_OPTIMIZATIONS 仅适用于纯机器人,还是有其他任何情况?
我列出了以下几种设备:
它在Moto设备中正常工作。
在Moto,我们能够弹出,如果我们接受许可,那么它运作良好。
联想标签&amp ;;荣誉设备。
在MI和三星设备中,它不再起作用了。
井Mi设备是特殊情况,因为它们具有定制架构,因此我们不关心MI设备。
对于三星Note 4,有一个特殊情况如下:
安装应用后,我们会弹出权限并接受权限。之后我们在设置中进行检查,但该应用未列在"不允许电池优化"应用列表。 (注意:当设备重新启动添加的应用程序时,不允许进行电池优化)
以下是代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
msPackageName = getPackageName();
moPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
Log.i(TAG, "Permission " + moPowerManager.isIgnoringBatteryOptimizations(msPackageName));
if (!moPowerManager.isIgnoringBatteryOptimizations(msPackageName)) {
Intent loIntent = new Intent();
loIntent.setAction(android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
loIntent.setData(Uri.parse("package:" + msPackageName));
startActivity(loIntent);
}
}
请为这种不同的行为提供建议。如果有解决方案,请告诉我。它变得令人沮丧。