簡體   English   中英

如何在android中禁用Home鍵上的點擊事件?

[英]How can I disable click event on Home key in android?

我正在使用以下方法禁用HomeKey單擊事件,但單擊 Home 鍵后,我的應用程序將關閉。 我想要,每當用戶單擊主頁鍵時,我的應用程序都不會關閉。

@Override
protected void onUserLeaveHint() {
    super.onUserLeaveHint();
    moveTaskToBack(false);
}

由於 Android 4 沒有有效的方法來停用主頁按鈕。 這就是我們需要另一個小技巧的原因。 一般來說,這個想法是檢測新應用程序何時處於前台並立即重新啟動您的活動。

檢查此解決方法: http : //www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/

在您的活動中覆蓋以下方法,

@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
}

現在像這樣處理關鍵事件,

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
   if(keyCode == KeyEvent.KEYCODE_HOME)
    {
     Log.i("Home Button","Clicked");
    }
   if(keyCode==KeyEvent.KEYCODE_BACK)
   {
        finish();
   }
 return false;
}

將他的放入您的活動代碼中。 它會攔截返回按鈕的點擊

  @Override
public void onBackPressed() {

}

你可以像這樣按下主頁按鈕:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_HOME)) {
        Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show();                     
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

暫無
暫無

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

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