您好,登錄后才能下訂單哦!
android5.0以上對于APP_SWITCH和HOME鍵的處理是什么樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在android5.0項目開發遇到需要捕獲HOME鍵的情況,經過查找,實現函數如下:
在framework/base/services/core/java/com/android/server/policy/PhoneWindowManager.java中添加如下函數:
private boolean getTopStackActivity(String fullClassName){
ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
RunningTaskInfo info = am.getRunningTasks(1).get(0);
if(info == null || info.topActivity == null){
Log.e(TAG, "Top activity is null, error");
return false;
}
if(fullClassName.equals(info.topActivity.getClassName())){
Log.d(TAG, "Top Activity:"+info.topActivity.getClassName());
return true;
}
return false;
}
HOME鍵處理:
在 interceptKeyBeforeDispatching函數的if(keyCode == KeyEvent.KEYCODE_HOME)中添加如上函數即可在應用層捕獲HOME鍵。
APP_SWITCH鍵處理:
在interceptKeyBeforeDispatching函數的else if(keyCode == KeyEvent.KEYCODE_MENU)下的if(keyCode == KeyEvent.KEYCODE_APP_SWITCH)中添加如上函數即可在應用層捕獲APP_SWITCH鍵。
看完上述內容,你們掌握android5.0以上對于APP_SWITCH和HOME鍵的處理是什么樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。