文章主要参考网址: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