保持唤醒状态不进入休眠有两种方法
一、通过java代码实现
//先定义一个mWakeLock
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this
.getClass().getName());
//一直保持唤醒的话,就调用
mWakeLock.acquire();
//恢复正常睡眠
mWakeLock.release();
二、操作节点
1)一个sysfs文件:/sys/power/wake_lock,用户程序向文件写入一个字符串,即可创建一个wakelock,该字符串就是wakelock的名字。该wakelock可以阻止系统进入低功耗模式。
2)一个sysfs文件::/sys/power/wake_unlock,用户程序向文件写入相同的字符串,即可注销一个wakelock。
3)当系统中所有的wakelock都注销后,系统可以自动进入低功耗状态。
4)向内核其它driver也提供了wakelock的创建和注销接口,允许driver创建wakelock以阻止睡眠、注销wakelock以允许睡眠。
具体操作如下:
在adb shell端,往/sys/power/wake_lock写入一个字符串
一直保持唤醒
echo awake > /sys/power/wake_lock
关闭一直唤醒
echo awake > /sys/power/wake_unlock
备注:awake可以是任意字符串
网友评论