当服务开启时,如何强制应用程序选择退出省电模式?
How force the app to opt out of battery saver mode when the service is ON?
预期的行为是应用程序在处于打开状态时将一直 运行ning。当应用程序一段时间未激活时,某些手机会将应用程序置于后台模式。我希望该应用程序即使在待机模式下也一直处于 运行 状态(待机模式意味着当我们按下主页按钮时,该应用程序将进入后台。并且它会 运行 一段时间)。
我找到了以下代码并试过了
PowerManager powerManager = (PowerManager) getApplicationContext().getSystemService(POWER_SERVICE);
String packageName = "org.traccar.client";
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Intent i = new Intent();
if (!powerManager.isIgnoringBatteryOptimizations(packageName)) {
i.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
i.setData(Uri.parse("package:" + packageName));
startActivity(i);
}
else{
i.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
i.setData(Uri.parse("package:" + packageName));
startActivity(i);
}
}
即使在使用代码后,默认状态也是节电模式(推荐)
我希望应用程序在打开后处于无限制模式,对此有什么解决方案吗?
您使用的代码用于电池优化。设置-->电池-->三点菜单项(...)--->电池优化-->(从列表中选择一个应用程序)--->优化/不优化。
通过选择 Don't optimize
,您实际上是在绕过 Doze
,而不是 app standby
。
另请注意,像您一样以编程方式执行此操作 可能会导致 Google 将您的应用从商店中移除 。按照我上面描述的路径手动更安全。
更多关于 Doze
和应用 Standby
here
预期的行为是应用程序在处于打开状态时将一直 运行ning。当应用程序一段时间未激活时,某些手机会将应用程序置于后台模式。我希望该应用程序即使在待机模式下也一直处于 运行 状态(待机模式意味着当我们按下主页按钮时,该应用程序将进入后台。并且它会 运行 一段时间)。
我找到了以下代码并试过了
PowerManager powerManager = (PowerManager) getApplicationContext().getSystemService(POWER_SERVICE);
String packageName = "org.traccar.client";
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Intent i = new Intent();
if (!powerManager.isIgnoringBatteryOptimizations(packageName)) {
i.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
i.setData(Uri.parse("package:" + packageName));
startActivity(i);
}
else{
i.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
i.setData(Uri.parse("package:" + packageName));
startActivity(i);
}
}
即使在使用代码后,默认状态也是节电模式(推荐)
我希望应用程序在打开后处于无限制模式,对此有什么解决方案吗?
您使用的代码用于电池优化。设置-->电池-->三点菜单项(...)--->电池优化-->(从列表中选择一个应用程序)--->优化/不优化。
通过选择 Don't optimize
,您实际上是在绕过 Doze
,而不是 app standby
。
另请注意,像您一样以编程方式执行此操作 可能会导致 Google 将您的应用从商店中移除 。按照我上面描述的路径手动更安全。
更多关于 Doze
和应用 Standby
here