Android 点亮屏幕并解锁

需求:现在在做一个app要求有唤醒屏幕并解锁的需求,参考了网上的许多的博客,感觉前篇一律,有的手机上好使,在有的手机上不好使,参考了微信的视频呼叫唤醒屏幕,可以点亮手机屏幕,对于有上滑手势解锁的手机只能点亮屏幕不能解锁屏幕,后来经过尝试,当前应用中有一个锁屏弹起界面 的权限,默认是关闭的,打开这个权限之后就可以点亮屏幕并弹出界面了(有上滑手势解锁的手机),后台经过尝试现在可以点亮屏幕并解锁了…

##代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 唤醒手机屏幕并解锁
*/
public static void wakeUpAndUnlock() {
// 获取电源管理器对象
PowerManager pm = (PowerManager) MyApplication.getContext()
.getSystemService(Context.POWER_SERVICE);
boolean screenOn = pm.isScreenOn();
if (!screenOn) {
// 获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
PowerManager.WakeLock wl = pm.newWakeLock(
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
wl.acquire(10000); // 点亮屏幕
wl.release(); // 释放
}
// 屏幕解锁
KeyguardManager keyguardManager = (KeyguardManager) MyApplication.getContext()
.getSystemService(KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("unLock");
// 屏幕锁定
keyguardLock.reenableKeyguard();
keyguardLock.disableKeyguard(); // 解锁
}

注意:好多写法都是

这样写的,在有的手机上不好使,后来我这样写```wl.acquire(10000);点亮屏幕```然后就好使了,我的理解是这样的:是不是时间太短了,刚唤醒屏幕就释放掉了会有问题,由于水平有限不对的地方请指出。
1
2
3
4
5
6
7

测试机型:xiaomi 5, OPPO R9s plus.

其他机型请自测。


##不要忘了添加如下权限

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

`

Thanks.

参考文章:http://blog.csdn.net/glen1943/article/details/8671793

本文标题:Android 点亮屏幕并解锁

文章作者:x-sir

发布时间:2017年09月24日 - 23:47

最后更新:2018年12月08日 - 23:23

原始链接:http://www.x-sir.com/2017/09/24/Android点亮屏幕并解锁/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%