如何使Battery Saver Mode设置永久化?

8次阅读
没有评论

问题描述

希望设置Battery Saver Mode,并尝试通过adb shell命令将其设置保存至全局存储中,但发现设置在某些情况下会被覆盖。从日志看,com.google.android.gms应用似乎在此过程中重置了这些设置。

解决方案

注意:请确保在执行任何修改系统设置的操作前做好数据备份,并慎重考虑其可能带来的影响。

方案1: 防止Google Play服务覆盖Battery Saver Mode设置

用户已尝试禁用com.google.android.gms应用程序的“修改系统设置”权限,但未成功。为了解决这一问题,可以通过命令行操作进一步锁定这些设置以防止被覆盖或重置。

步骤1: 定制设置文件

在首次设置Battery Saver Mode时,使用如下的命令将具体参数写入到settings_global.xml文件中的指定条目:

$ adb shell
$ su
# settings put global battery_saver_constants "animation_disabled=true,vibration_disabled=true,adjust_brightness_disabled=true"

步骤2: 确认设置已保存并生效

你可以通过以下命令来验证Battery Saver Mode相关的设置是否已经正确地写入到settings_global.xml文件中:

# cat /data/system/users/0/settings_global.xml | grep "battery_saver_constants"

如果设置已被覆盖或丢失,尝试重启设备可能有助于确保最新的设置生效。

步骤3: 阻止Google Play服务修改此设置

为了让更可靠的持久化方法生效,可以采取额外的措施防止com.google.android.gms应用直接更改系统设置。这可以通过在ADB命令行中添加一个临时文件来实现该目的:

# 设置自定义Battery Saver Mode条目
echo "<setting id=\"528\" name=\"battery_saver_constants\" value=\"animation_disabled=true,vibration_disabled=true,adjust_brightness_disabled=true\" package=\"root\" />" > /data/system/users/0/settings_global.xml

虽然这种方法不是长久之计,但在一些情况下可能有助于暂时解决问题。

方案2: 更新Android系统固件并安装OxygenOS

考虑到提问者的设备运行的是较为老旧的Android 8.1氧OS5.1.9版本,可能存在由于底层框架缺陷导致的问题。升级至最新版本可能能解决这个问题:

步骤1: 联系制造商获取最新的ROM和相关提示

通过设备制造商的支持渠道(如OnePlus官网)检查是否有可用的新版预装系统固件。

步骤2: 使用ADB工具安装新系统的备份文件

确保拥有一个完整且最新的固件包并遵循官方教程或指南使用ADB恢复该最新版本的系统。

步骤3: 更新Battery Saver Mode设置

在完成上述更新过程后,再次进行Battery Saver Mode相关参数的设置,并验证其持久性。

通过以上的两个方案,用户可以尝试找到一种方法来确保在重置设备后或者遇到异常重启时,他们的电池节省模式和其他相关设置能保持永久生效。如果上述措施仍然无效或不成功,请建议联系原制造商获取进一步的技术支持与帮助。

正文完