2012-05-19 30 views
2

我正在開發一個安全應用程序,當手機丟失或被盜時,手機屏幕會自動鎖定,如果盜用者試圖通過隨機輸入密碼登錄手機,手機將記錄到3次失敗嘗試。是否可以禁用所有物理電話按鈕?

3次嘗試失敗後,當前佈局將變爲佈局中沒有任何內容的黑色佈局,並且我將爲此佈局設置計時器,在此佈局期間,除非計時器已過期,否則沒有任何鍵可以喚醒此佈局。我已經成功實現了計時器,但是當我按下手機上的後退按鈕時,佈局返回到登錄佈局。我怎樣才能禁用所有的電話按鈕?可能嗎?由於

+1

但Android已經有一個安全機制... –

+6

如果任何第三方應用程序可以通過禁用物理按鈕來「阻塞」手機,這不是一個相當大的缺陷嗎? –

+2

有才華的開發人員不會寫這樣的內容,因爲有才華的開發人員會意識到,任何人都可以輕鬆過去嘗試創建的內容,只需在將設備重新啓動到安全模式後刪除應用程序即可。有才華的開發人員認識到,這種安全需要成爲固件的一部分,與現有的設備管理API一起工作。 – CommonsWare

回答

1

您可以使用此代碼禁用後退按鈕

@Override 
    public void onBackPressed() { //disable back button in this activity 
     return; 
    } 

http://developer.android.com/reference/android/app/Activity.html#onBackPressed()

使用同樣禁止home鍵

@Override 
    public void onAttachedToWindow() { //disable home button in this activity 
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
     super.onAttachedToWindow(); 
    } 

http://developer.android.com/reference/android/app/Activity.html#onAttachedToWindow()

+2

幸運的是,您所描述的HOME按鈕破解不再適用於Android 4.0。 – CommonsWare

+0

是的,它工作到3.2。 但這裏有一個解決方法 http://stackoverflow.com/questions/10077675/disable-home-button-in-android-ics-4-0 –

+0

@NikNexAndrX不是一個真正的解決方法,因爲它需要更改_home_屏幕,很少有用戶願意這樣做。 –

3

不要這樣做。

您試圖實施的「黑客」可以簡單地通過在將設備重新啓動到安全模式後刪除您的應用程序來繞過。禁用硬按鈕不會做任何事情來防止這種情況。

相關問題