Mat*_*ska 17 android locking screen
我想解锁屏幕并打开它以在事件触发器上显示弹出窗口.我可以使用解锁屏幕
newKeyguardLock = km.newKeyguardLock(HANDSFREE);
newKeyguardLock.disableKeyguard();
Run Code Online (Sandbox Code Playgroud)
对KeyGuardService,但我不能把在屏幕上.我在用
wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, HANDSFREE);
wl.acquire();
Run Code Online (Sandbox Code Playgroud)
但没有成功.屏幕仍然保持关闭状态.我怎样才能做到这一点?
und*_*ned 33
作者提示:我在2012年写了这篇文章.我不知道它是否有效.请务必查看其他最近的答案.
Amir的回答让我很接近,但你ACQUIRE_CAUSES_WAKEUP至少需要这面旗帜(针对Android 2.3.3构建).
WakeLock screenLock = ((PowerManager)getSystemService(POWER_SERVICE)).newWakeLock(
PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
screenLock.acquire();
//later
screenLock.release();
Run Code Online (Sandbox Code Playgroud)
这是一个非常受欢迎的问题,但现在接受的答案已经过时了。
以下是打开屏幕或从活动中唤醒设备屏幕的最新方法:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
this.setTurnScreenOn(true);
} else {
final Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}
Run Code Online (Sandbox Code Playgroud)
使用WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON但 FLAG_TURN_SCREEN_ON 标志已被弃用,API level 27因此您可以从以后使用Activity.setTurnScreenOn(true)API level 27。
| 归档时间: |
|
| 查看次数: |
29247 次 |
| 最近记录: |