簡體   English   中英

解鎖鎖定屏幕

[英]Unlock the lock screen

我正在編寫一個應用程序來管理或自定義Android設備的解鎖屏幕。 它的工作原理如下:

  1. 用戶使用電源按鈕鎖定屏幕。
  2. 用戶嘗試解鎖屏幕,從而再次按下電源按鈕
  3. 彈出我的活動 - 屏幕仍然鎖定
  4. 用戶回答問題,如果答案正確,則屏幕解鎖

我已經為第三步創建了一個活動,並將以下代碼添加到其onCreate方法中:

Window window = getWindow();

window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(WindowManager.LayoutParams.FLAG_SECURE);

這正如我所希望的那樣正常工作。 我的問題是第四步。 我搜索並找到了許多解決方案,但他們都沒有為我做這些。

如何以編程方式鎖定/解鎖手機 - 這只是一種在鎖定屏幕上顯示活動的方法。 它沒有解鎖它。

Android屏幕鎖定/解鎖程序 - 此解決方案不僅被棄用,但它也非常不可靠。 它不會解鎖屏幕,但會創建另一個鎖並解鎖。 因此,使用此功能可以訪問應用程序,但無法訪問敏感設置。 (試試吧!)

我嘗試將我的應用程序注冊為設備管理員。 這對我也沒有幫助。 我可以更改設置但無法解鎖屏幕。

mehrdadjg

我查看了Android Api源代碼(級別23)我不知道如何將KeyguardService的方法與設備管理員或root權限一起使用,但Android使用此服務(com.android.systemui.keyguard.KeyguardService.java)。 Android綁定此服務(IPC與aidl文件)並使用它。

另一邊...

Keyguard控制器類,其名稱為KeyguardViewMediator。 在“com.android.systemui.keyguard”包下。 (也許回顧這一行1157,1433)

我不知道如何進行解鎖操作,但Android使用此類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM