Android5.1 系统之省电模式探索一启动流程

本文深入探讨了Android5.1的省电模式,包括开启位置、系统状态变化和涉及的广播。在开启省电模式后,系统会改变顶部状态栏、通知栏颜色,降低屏幕亮度,关闭后台数据和动画,同时调整了包括GPS和语音在内的多个组件的行为。关键代码位于BatterySaverSettings.java,通过PowerManagerService设置和检查省电模式,并通过发送ACTION_POWER_SAVE_MODE_CHANGED广播进行状态更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


文章主要参考网址:http://www.th7.cn/Program/Android/201509/577840.shtml

android5.1 省电模式开启位置:

设置——电池——节电助手(充电状态下默认无法开启,即强制关闭)

省电模式开启后系统状态:

不同于其他第三方省电app:除通知图标外顶部状态栏、底部通知栏颜色全部变成亮橙色,大部分图标等资源添加橙色,应用顶部栏也会变成橙色。

其他行为:

1.屏幕亮度调低;2.后台(大部分)数据关闭;3.动画全部取消;4.震动关闭。(即通过牺牲性能达到省电目的)。

涉及到广播

POWERMANAGER.ACTION_POWER_SAVE_MODE_CHANGED

POWERMANAGER.ACTION_POWER_SAVE_MODE_CHANGING

 

 

相关代码:

设置应用入口文件:

./packages/apps/Settings/src/com/android/settings/fuelgauge/BatterySaverSettings.java

 

托盘显示:

./frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java

./frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java

 

托盘中callback回调函数onPowerSaveChanged():

./frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java

 

onPowerSaveChanged():(systemui内部处理):

 

./frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java

./frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java

./frameworks/base/packages/SystemUI/src/com/android/systemui/doze/DozeService.java

./frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java

./frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

./frameworks/b

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值