所谓applist就是按下这个按键后,系统自动进入ALL APPS的界面;直接进入主题吧...
1、先按照 android HID添加(二) 的方法 添加 key 197 APKLIST;不过“android HID添加(二) 的方法” ->4->c那一步不要加;
2、frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
定义一个intent,并在init中初始化
mAllAppIntnet = new Intent(Intent.ACTION_MAIN, null);
mAllAppIntnet.addCategory(Intent.CATEGORY_HOME);
mAllAppIntnet.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
mAllAppIntnet.putExtra("extra", "showallapps");
interceptKeyBeforeDispatching中加入APKLIST的处理:
if ( (keyCode == KeyEvent.KEYCODE_HOME) || (keyCode == KeyEvent.KEYCODE_APKLIST)){
、、、
launchHomeFromHotKey(keyCode);
};
launchHomeFromHotKey-》 startDockOrHome
void startDockOrHome(int keyCode) {
Intent dock = createHomeDockIntent();
if (dock != null) {
try {
mContext.startActivity(dock);
return;
} catch (ActivityNotFoundException e) {
}
}
if(keyCode == KeyEvent.KEYCODE_APKLIST)
mContext.startActivity(mAllAppIntnet);
else
mContext.startActivity(mHomeIntent);
}
3、通过上面的intent,系统将会启动launcher,并且传入一个传输“showallapps”,我们还需要再launcher.java中添加“showallapps”的处理,这里就不再讲述了,主要是在oncreate中,以及onnewintent中做相应的处理