2014-12-06 21 views
1

版本:是Android 4.4.2機器人disableKeyguard後inKeyguardRestrictedInputMode()仍返回true

我用keyguardLock.disableKeyguard()解鎖屏幕,然後用keyguardManager.inKeyguardRestrictedInputMode()打印鎖屏狀態時,它總是返回true,但powerManager.isScreenOn()返回true,我可以正常使用手機。

PS:我不鎖定,並在Android的服務解鎖。

有什麼東西錯了,當使用disableKeyguard()?

+0

請澄清這*然後使用keyguardManager.inKeyguardRestrictedInputMode()打印屏幕鎖定狀態*(即這是什麼意思呀?) – ben75 2014-12-06 09:35:45

+0

當我的應用程序的手機解鎖,其他應用程序通過調用'inKeyguardRestrictedInputMode讀鎖定狀態() ',然後他們認爲我的手機被鎖定了,他們可能會做一些奇怪的事情。 – enyo 2014-12-06 12:06:36

回答

0

的keyguardLock已被棄用從API 13開始請使用FLAG_DISMISS_KEYGUARD和/或FLAG_SHOW_WHEN_LOCKED。見here

+0

我已閱讀文檔,但如何在服務中使用getWindow()? – enyo 2014-12-06 12:03:27

+0

你不能。我認爲你正在使用鍵盤鎖來解鎖它以向用戶顯示某些東西,不是嗎?比你必須把getWindow()的東西放在那裏(即在你的活動中顯示)。 – greywolf82 2014-12-06 13:37:12

+0

我在服務中使用'BroadcastReceiver',當我關閉接近傳感器,它發送一個廣播,我的MainActivity將抓住這個廣播,然後調用'getWindow()。addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD)'解開我的手機,但實際上在屏幕上,但我的手機仍處於鎖定狀態 – enyo 2014-12-06 14:17:55