情况说明
我的黑鲨1代刷机后,部署了Linux系统,但是只要熄屏后过一会儿就无法访问网络了。尝试了修改电量管理、关闭省电模式等,均无效。
经过很久很久的测试,终于找到了原因。Android6.0或更高版本系统有一个Doze模式和App Standby状态。当手机没有连接到电源时会进入Doze模式,系统将通过延迟最近用户没有使用的应用程序的后台CPU运作及网络活动,让应用程序处于App Standby状态,以此来减少电池消耗。
解决方案
我们可以模拟充电来欺骗Android不要进入Doze模式
进入adb shell 之后,使用dumpsys battery
命令可以查看电量信息
shark:/ # dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: false
Wireless powered: false
Max charging current: 0
Max charging voltage: 0
Charge counter: 2413097
status: 3
health: 2
present: true
level: 96
scale: 100
voltage: 4226
temperature: 160
technology: Li-ion
shark:/ #
模拟手机的充电状态
dumpsys battery set usb 1
模拟手机的不充电状态
dumpsys battery set usb 0