【发布时间】:2013-12-16 10:01:03
【问题描述】:
使用lockNow()功能可以关闭显示器然后锁定,但是如何锁定显示器使其保持开启? 我想知道是否存在一种在不关闭显示器的情况下调用锁定屏幕的方法,这样用户就可以(最终)解锁它而无需按下电源按钮。
【问题讨论】:
标签: android lockscreen
使用lockNow()功能可以关闭显示器然后锁定,但是如何锁定显示器使其保持开启? 我想知道是否存在一种在不关闭显示器的情况下调用锁定屏幕的方法,这样用户就可以(最终)解锁它而无需按下电源按钮。
【问题讨论】:
标签: android lockscreen
您可以尝试在lockNow() 通话后使用类似的方式打开屏幕:
PowerManager powerManager = ((PowerManager) getSystemService(Context.POWER_SERVICE));
WakeLock screenLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag");
screenLock.acquire();
screenLock.release();
您需要向清单文件添加所需的权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
【讨论】:
还有另一种锁定屏幕的方法。试试那个。它可能会以不同的方式工作并且不会转动屏幕(我不能准确地说,你可以检查它)。您可以尝试使用KeyguardManager,而不是使用lockNow()。您可以通过更改 keyguard 属性来操作您的 lockscreen。
向清单文件添加所需的权限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
然后你可以试试这样的:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock l = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
l.reenableKeyguard();
【讨论】: