/sys/power/wake_lock2、在驱动文件中获取wake_lock(1)添加..._wake_lock nosuspend">
当前位置:   article > 正文

Android 禁止系统进入深度休眠

wake_lock nosuspend

在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);

 

转载于:https://www.cnblogs.com/lialong1st/p/10406959.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/301792
推荐阅读
相关标签
  

闽ICP备14008679号