如何使用快捷键跳转到指定的页面中,在android中的GlobalKeyManager中可以进行相关处理。

frameworks\base\core\res\res\xml\global_keys.xml指定了按键和对应的ComponentName,对于这个文件的修改,一般是使用android的overlay机制,对device进行自己的设置。
如下

         

看下GlobalKeyManager中对全局键的处理

    boolean handleGlobalKey(Context context, int keyCode, KeyEvent event) {        if (mKeyMapping.size() > 0) {            ComponentName component = mKeyMapping.get(keyCode);            if (component != null) {                Intent intent = new Intent(Intent.ACTION_GLOBAL_BUTTON)                        .setComponent(component)                        .putExtra(Intent.EXTRA_KEY_EVENT, event);                context.sendBroadcastAsUser(intent, UserHandle.CURRENT, null);                return true;            }        }        return false;    }

android原本处理是将其发送广播到指定的ComponentName,
稍作修改,将其改为启动指定的ComponentName的activity即可

private void openApk(ComponentName componentName) {        Intent mintent = new Intent();        mintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);        mintent.setComponent(componentName);        try {            mContext.startActivity(mintent);        } catch (Exception e) {            e.printStackTrace();        }    }    boolean handleGlobalKey(Context context, int keyCode, KeyEvent event) {        if (mKeyMapping.size() > 0) {            ComponentName component = mKeyMapping.get(keyCode);            if (component != null) {    openApk(component);                return true;            }        }        return false;    }

更多相关文章

  1. [转]android的Goldfish内核概述
  2. android使用指定的字体
  3. Android之Goldfish
  4. Android修改最小SDK版本(minSdkVersion)
  5. Android消息处理机制——AsyncTask 源码解析
  6. Android(安卓)自定义阴影效果详解及实例
  7. android图片优化,内存释放处理
  8. Android(安卓)- 常见错误的解决方法
  9. Android(安卓)rom开发:通过拨号使用暗码打开不显示图标的应用

随机推荐

  1. Android(安卓)简单计算器实现
  2. android低功耗蓝牙APP开发问题记录
  3. Gradle,*.jar,*aar
  4. Android使用AsyncTask下载图片,最好使用We
  5. Windows下用Git下载android源码
  6. Android(安卓)SmartRefreshLayout下拉刷
  7. 如何让android不运行默认的MainActivity.
  8. Android使用代码实现关机/重启
  9. android studio里面的svn基本使用
  10. Error generating final archive: Debug