我一直在寻找一种方法,以编程方式检测用户是否已启用/禁用了设备上的自适应电池设置,但却找不到任何东西。
我知道可以检查许多设置,例如用户忽略电池优化:ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS
但是,我只发现了检查应用程序当前属于哪个桶的能力:getAppStandbyBucket()
是否有一种方法来确定用户是否关闭了自适应电池,类似于电池优化设置?
发布于 2022-07-28 09:32:11
我不知道为什么SDK中缺少这个设置键,但是您可以在Android源代码这里中找到这个设置键
/**
* Whether or not adaptive battery feature is enabled by user. Platform will turn on this
* feature if both this flag and {@link #APP_STANDBY_ENABLED} is on.
* Type: int (0 for false, 1 for true)
* Default: 1
* @hide
* @see #APP_STANDBY_ENABLED
*/
@Readable
public static final String ADAPTIVE_BATTERY_MANAGEMENT_ENABLED =
"adaptive_battery_management_enabled";因此,要获得当前状态,请使用此函数(测试):
fun isAdaptiveBatteryEnabled(ctx: Context): Boolean {
val intValue = Settings.Global.getInt(
ctx.contentResolver,
"adaptive_battery_management_enabled",
-1
)
return intValue == 1
}https://stackoverflow.com/questions/65479363
复制相似问题