Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 主頁鍵和最近應用鍵的處理onUserLeaveHint

Android 主頁鍵和最近應用鍵的處理onUserLeaveHint

編輯:關於Android編程

相比主頁鍵(HOME)和最近應用鍵(APP_SWITCH)的處理,返回鍵比較簡單,復寫onKeyDown就可以實現,如下:

 

 

 

 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //  KeyEvent.KEYCODE_HOME  KeyEvent.KEYCODE_APP_SWITCH
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            exitAction();
            return true;
        } else
            return super.onKeyDown(keyCode, event);
    }

HOME和APP_SWITCH比較復雜,尤其是HOME鍵,如果不特殊設置,有可能會被惡意應用利用。所以即使是處理了HOME鍵,實測會首先進入Launcher,一段時間後才會執行我們的操作,想必這也是系統層從安全角度的考量,有時間看一下系統源碼。

 

\

嘗試過多種方式之後,復寫onUserLeaveHint函數比較便捷,如下即可:

 

 @Override
    protected void onUserLeaveHint() {
        //super.onUserLeaveHint();
        exitAction();
    }

把操作寫在了exitAction函數中,這裡以啟動設置為例:

 

 

 private void exitAction() {
        try {
            Intent intent = new Intent();
            ComponentName componentName = new ComponentName(com.android.settings,
                    com.android.settings.Settings);
            intent.setComponent(componentName);
            startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved