android休眠唤醒java_Android-WakeLock(唤醒锁与CPU休眠/屏幕常亮)

本文详细介绍了Android中如何使用PowerManager的WakeLock来控制CPU休眠和屏幕亮度,包括PARTIAL_WAKE_LOCK、SCREEN_DIM_WAKE_LOCK等各种级别,并提到了使用FLAG_KEEP_SCREEN_ON的推荐做法。同时,文章探讨了WakeLock的工作原理,包括adb命令检查、计数锁机制和内核层的交互过程。
摘要由CSDN通过智能技术生成

一.使用

PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);

PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyTAG");

wakeLock.acquire();

在Manifest中添加如下权限

WakeLock级别:

PARTIAL_WAKE_LOCK 保持CPU运转,屏幕和键盘背光可能关闭

SCREEN_DIM_WAKE_LOCK 保持CPU运转,保持屏幕常亮(亮度低),键盘背光可能关闭

SCREEN_BRIGHT_WAKE_LOCK 保持CPU运转,保持屏幕和键盘背光高亮

FULL_WAKE_LOCK 保持CPU运转,保持屏幕和键盘背光高亮(亮度最高)

ACQUIRE_CAUSES_WAKEUP 强制亮屏,针对一些必须通知用户的操作

ON_AFTER_RELEASE 当锁被释放时,保持亮屏一段时间(如果释放时屏幕没亮,则不会亮屏)

PROXIMITY_SCREEN_OFF_WAKE_LOCK 和接近传感器配合,当用户接近屏幕时黑屏,离开时亮屏(例如打电话),该API在API21后开放,以前被hide

保持屏幕长亮的WakeLock被建议弃用,系统推荐如下方法(当Activity或view可见时,屏幕才保持常亮):

在Activity.onCreate()中: getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

或在xml布局中:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值