无法将Android应用设置为restricted待机桶,查询始终返回20
解决Android 12设置restricted待机存储桶不生效问题
返回值20对应WORKING_SET待机桶,restricted桶对应数值为45,设置不生效是系统优先级限制导致,按以下步骤操作即可:
- 第一步:将应用移出电池优化白名单
如果应用在电池优化白名单中,系统会禁止将其划入restricted桶,执行命令移除白名单:adb shell dumpsys deviceidle whitelist -<Package> - 第二步:终止应用前台运行状态
应用处于前台活跃状态时,系统会强制将其归为WORKING_SET桶,先杀死应用进程:adb shell am force-stop <Package> - 第三步:授予adb修改系统设置权限(针对正式版固件)
如果使用的是非debug版正式固件,需要先给当前调试的adb授予对应权限:adb shell appops set <Package> android:write_settings allow - 第四步:执行设置命令
Android 12 beta 4固件存在字符串参数兼容问题,优先使用数值参数设置:adb shell am set-standby-bucket <Package> 45 - 第五步:验证设置结果
执行查询命令确认返回值:adb shell am get-standby-bucket <Package>
如果操作后依然返回20,检查两个特殊限制:
- 应用是否被设为设备管理员、辅助功能服务、无障碍服务类特殊权限应用,这类应用无法被划入restricted桶
- 测试设备是否开启工作配置文件,工作profile下的应用待机桶策略由profile管理员控制,普通adb命令无法修改
内容的提问来源于stack exchange,提问作者user1443721
相关产品推荐
相关产品推荐

