重复警告:此问题涉及 Android API 的详细信息,适用于从某些前端和服务调用,SO 上有许多类似的线程,但仅关注前端。
问题
我想以编程方式打开键盘保护,例如用户单击我的应用程序中的一个按钮并且手机被锁定(要使用手机用户必须先解锁它)。
问题是——我想找到一种坚如磐石的方法,它适用于每一种有效的情况。
尝试
我试过了:
lockNow
withDevicePolicyManager
-- 当屏幕关闭(但手机未锁定)时,此呼叫将被忽略(即未激活键盘保护)reenableKeyguard
withKeyguardManager.KeyguardLock
-- 在所有可能的情况下都会忽略对方法的调用goToSleep
withPowerManager
-- 我不能调用它,因为权限问题,DEVICE_POWER
尽管我已经有这个权限集,它仍然需要
到目前为止,我追求第一种方式(lockNow
)与额外的黑客以某种方式处理屏幕关闭时的情况,但它非常丑陋,因此我希望有一些简单的方法。