电池优化对话框在Android Oreo中不工作
我正在使用请求我的应用程序的白名单:电池优化对话框在Android Oreo中不工作,android,battery,whitelist,android-8.0-oreo,Android,Battery,Whitelist,Android 8.0 Oreo,我正在使用请求我的应用程序的白名单: PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); String packageName = getApplicationContext().getPackageName(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (!pm.isIgnor
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
String packageName = getApplicationContext().getPackageName();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!pm.isIgnoringBatteryOptimizations(packageName)) {
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
startActivity(intent);
}
}
我还在清单中添加了权限:
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
(是的,我知道这个许可会让你在谷歌游戏中被禁止。这个代码只是为了测试的目的)
在Android Oreo中,会显示该对话框,用户接受该对话框后,不会发生任何事情。该应用程序未添加到白名单。但是,从此处调用PackageManager.isignoringbatteryooptimizations
始终会按预期返回true
这是一个bug还是他们在Oreo中删除了这个功能?显然,这是一些早期ROM和新的Google Play emulator中的一个问题。我在常规的Oreo仿真器中进行了测试,结果与预期一样