始终省电

一个 Xposed 模块,用于防止 Android 在设备充电时自动禁用省电模式。

问题与解决方案

Android 的默认行为会在充电时禁用省电模式。此模块会拦截 Android 系统服务器 ( 包) 中的特定系统调用,以防止这种自动停用,从而允许 Battery Saver 即使在接通电源时也能保持活动状态。android

技术概述

该模块在 :com.android.server.power.batterysaver.BatterySaverStateMachine

  1. enableBatterySaverLocked(所有变体):
    • 使用 .XposedBridge.hookAllMethods
    • 回调会检查配置的选项,并可以阻止原始方法的执行 ():beforeHookedMethodparam.setResult(null)
      • lock_on_plugged_in:检查方法参数是否包含 (“Plugged in”)。REASON_STRING_PLUGGED_IN
      • lock_on_power:使用反射检查实例中字段的当前状态。mIsPoweredBatterySaverStateMachine
      • lock_any:无条件阻止方法调用。
  2. updateStateLock 的
    • 使用 .XposedBridge.hookAllMethods
    • 回调修改内部状态:beforeHookedMethod
      • fake_power:如果启用,则使用反射将实例的字段设置为原始方法运行之前,从而有效地将充电状态隐藏在状态机的内部逻辑中。mIsPoweredBatterySaverStateMachinefalse

注意:此模块依赖于 AOSP 中的特定类/方法名称和字段名称。OEM 或未来 Android 版本的重大更改可能会影响功能。mIsPowered

未来的想法(也许吧!

我有一些关于未来增强的想法,但不能保证这些:

  • 设置 UI:添加一个简单的配置 UI 以切换模块的功能,或者稍后可能添加更多选项。
  • UI 解锁:挂接 Battery Saver 设置页面和 Quick Settings 磁贴,以防止它们在设备充电时被禁用或灰显,并且此模块会强制开启 Battery Saver。
  • 将支持扩展到 Android 5.0 (Lollipop):自 API 级别 21 以来,Android 中似乎就存在省电模式,因此支持较旧的设备可能是可行的。这需要调查与这些版本中的类或等效项的兼容性。BatterySaverStateMachine

故障排除/兼容性

  • 功能取决于 AOSP 类/方法/字段名称(、 )。繁重的 OEM 定制或将来的 Android 更改可能会让您陷入困境。BatterySaverStateMachineenableBatterySaverLockedupdateStateLockedmIsPowered
  • 与其他电源管理 Xposed 模块发生冲突是可能的,但考虑到特定目标的可能性较小。
  • 如果 Battery Saver 仍然关闭,请仔细检查模块激活、范围 () 或 (),然后重新启动。检查 Xposed 日志中是否存在与 相关的错误。Android SystemSystem FrameworkAlwaysBatterySaver
  • 在 Issues (问题) 页面上报告日志问题。

版本类型: 稳定

2025/4/22 15:18:39

此更新包括对模块工作方式的重大改进,提供更可靠的节电模式控制,并引入了新选项。

变化:

  • 更高的可靠性:阻止 Battery Saver 关闭的核心逻辑已被完全重写。这应该会提高不同设备和 Android 版本之间的兼容性。
  • 新的控制选项:
    • 防止在电源上禁用:添加了一项新设置,可阻止 Battery Saver 仅在设备接通电源并检测到正在充电时自动关闭。
    • 隐藏充电状态:这个新选项取代了旧的“Block update charge state”。它的工作原理是防止系统告诉 Battery Saver 组件您的设备正在充电。这是帮助在接通电源时保持节电模式处于活动状态的另一种方法。
    • “锁定省电模式状态”已更新:主动阻止对 Battery Saver 状态的任何更改的实验性选项已在内部更新。
  • 视觉调整:添加了对深色模式的基本支持,并对设置屏幕布局进行了细微调整。

次要改进:

  • 在调试版本中,即使主的“Enable Module”开关处于关闭状态,设置选项仍将保持可选状态。

我们在后台进行了重大更改,因此请尝试新选项并报告您发现的任何问题!

LSP中文网版权所有,原文地址https://lsposed.cn/994
© 版权声明
THE END
如有模块失效 请及时在下方留言反馈!!!
点赞0赞赏 分享
有什么话想说呢 抢沙发

请登录后发表评论

    请登录后查看评论内容