android5.0以上对于APP_SWITCH和HOME键的处理是什么样的
导读:本文共770字符,通常情况下阅读需要3分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 在android5.0项目开发遇到需要捕获HOME键的情况,经过查找,实现函数如下:在framework/base/services/core/java/com/android/server/policy/PhoneWindowManager.java中添加如下函数:private boolean getTopStackActivity(String fullC... ...
目录
(为您整理了一些要点),点击可以直达。在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函数的elseif(keyCode == KeyEvent.KEYCODE_MENU)下的if(keyCode == KeyEvent.KEYCODE_APP_SWITCH)中添加如上函数即可在应用层捕获APP_SWITCH键。
android5.0以上对于APP_SWITCH和HOME键的处理是什么样的的详细内容,希望对您有所帮助,信息来源于网络。