展会信息港展会大全

Android 如何在任意界面按某个预设定的硬体按键进入某个Activity?
来源:互联网   发布日期:2016-01-14 10:25:58   浏览:1440次  

导读:实现在任意非锁屏界面,按某个预设定好的按键进入某个Activity的功能修改alps/frameworks/base/policy/src/com/android/internal/...

实现在任意非锁屏界面,按某个预设定好的按键进入某个Activity的功能

修改alps/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java文件中的如下方法:

public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags)

找到如下代码段:

else if (keyCode == KeyEvent.KEYCODE_APP_SWITCH) {

if (down && repeatCount == 0 && !keyguardOn) {

showOrHideRecentAppsDialog(RECENT_APPS_BEHAVIOR_SHOW_OR_DISMISS);

}

return -1;

}

在这个else if后面增加相应代码:

else if (keyCode == KeyEvent.KEYCODE_APP_SWITCH) {

if (down && repeatCount == 0 && !keyguardOn) {

showOrHideRecentAppsDialog(RECENT_APPS_BEHAVIOR_SHOW_OR_DISMISS);

}

return -1;

} //add begin

else if (keyCode == KeyEvent.KEYCODE_XXX) {

if (down && repeatCount == 0 && !keyguardOn) {

mContext.startActivity(new Intent(intent.xxx).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));

}

return -1;

} // add end

注意:

1、上面写的KeyEvent.KEYCODE_XXX是预设定好的硬按键的键值,根据需要来设定即可;

2、startActivity(new Intent(intent.xxx)中的intent.xxx需要根据所启动的activity来写

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港