萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> Android無視屏幕解鎖保護界面破解

Android無視屏幕解鎖保護界面破解

  1 原理

  Android存在三種屏幕解鎖保護:圖案解鎖、PIN密碼解鎖和密碼解鎖。

  其界面分別如下:

  圖表 1 圖案解鎖界面

Android無視屏幕解鎖保護界面破解 三聯

  圖表 2 PIN密碼解鎖界面

  圖表 3 密碼解鎖界面

  我們可以使用java.lang.Object.android.app.KeyguardManger中的子類KeyguardLock可以控制Disable掉這些屏幕鎖界面,從而達到不用輸入密碼,直接過掉屏幕鎖界面來使用手機主要使用KeyguardLock.disableKeyguard()和KeyguardLock.enableKeyguard()方法來Disable、enable屏幕鎖界面

  2 代碼說明

  Demo程序主要代碼如下:

  //獲取KeyguardManagerKeyguardManager manager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);

  If(manager.inKeyguardRestrictedInputMode()){

  //處於鎖定界面,界面則通過KeyguardLock類方法來解鎖

  KeyguardLock keyguard = manager.newKeyguardLock(getLocalClassName());

  keyguard.disableKeyguard();

  }

  需要權限:

  

  3 結論

  1.圖案鎖界面使用此方法

  調用disableKeyguard() 方法disable圖案鎖屏界面後,按home鍵會觸發鎖屏界面enable重新顯示鎖屏界面。

  2.Pin密碼鎖界面使用此方法

  調用disableKeyguard()方法後disable圖案界面後,按home鍵會出現閃屏。不會返回主頁面

  3.密碼鎖界面使用此方法

  調用disableKeyguard()方法後disable圖案界面後,按home鍵會出現閃屏。不會返回主頁面

  雖然不知道Google為什麼提供這樣一個api,但開發者利用此api幾乎就可以使Android的屏幕鎖保護功能形同虛設了,而且調用此方法後home鍵出現的異常現象應該是個bug吧。

  4 Demo

  由於屏幕鎖定時通過電腦上豌豆莢等軟件只能安裝Apk,並不能啟動apk,所以此Demo程序寫成了開機啟動,即當屏幕鎖屏時,通過電腦豌豆莢等軟件安裝此軟件後重啟即可實現Pass掉屏幕鎖界面。

  Android 2.2 ,2.3,4.0平台測試通過。

copyright © 萬盛學電腦網 all rights reserved