Android 禁止系統進入深度休眠


在Linux系統中,wake_lock是一直鎖機制,只要有驅動占用這個鎖,系統就不會進入深度休眠。

 

獲取此鎖的方法有兩種:

1、在adb中通過指令獲取wake_lock,系統就不會進入深度休眠

echo "PowerManagerService.noSuspend" > /sys/power/wake_lock

 

2、在驅動文件中獲取wake_lock

(1)添加頭文件

#include <linux/wakelock.h>

(2)定義 wake_lock 結構體

static struct wake_lock wake_lock_always

(3)在 xxx_init 函數中初始化鎖

wake_lock_init(&wake_lock_always, WAKE_LOCK_SUSPEND, "wake_lock_always");

(4)在 xxx_suspend 函數中獲取鎖

wake_lock(&wake_lock_always);

(5)在 xxx_resume 函數中釋放鎖

wake_unlock(&wake_lock_always);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM