Android软菜单键监听器存在



我有一个问题,如果我禁用硬件菜单按钮(即返回,主页,菜单)。我在屏幕上留下了一个软件菜单栏。但是我以前KEYCODE_MENU的键下监听器不再适用于这个虚拟菜单按钮。谁能帮我找到这个虚拟菜单键的正确监听器?

之前的工作在硬件菜单按钮,但停止工作时,我禁用硬件按钮,并在android中启用软菜单按钮:


      @Override
      public boolean onKeyDown(int keycode, KeyEvent e) {
          switch(keycode) {
              case KeyEvent.KEYCODE_MENU:
                  doSomething();
                  return true;
          }
          return super.onKeyDown(keycode, e);
      }

新版本的Android根本没有菜单按钮,尽管一些制造商ahem三星不断添加硬件菜单按钮。

要在导航栏中有菜单按钮,将发送菜单键码,您必须在AndroidManifest.xml中设置targetSdkVersion为10,这将使您的应用程序看起来很古老。

实际上,你可以期望只有三个硬件按钮(例如发送键码的按钮)-后退,音量上升和音量下降,并且使用音量按钮来改变声音音量是糟糕的风格。

你可以做一个hack,当最近的按钮被击中,而一个应用程序正在运行,它把应用程序在onPause。你能做的是,在app的onPause()中,重新排序任务,把你的app放在所有任务之上。这样,你只会在按下最近应用程序按钮时遇到故障。

将此代码放在onPause()

((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE)).moveTaskToFront(getTaskId(), 0);

重新排序任务需要以下权限。

<uses-permission android:name="android.permission.REORDER_TASKS" />

相关内容

  • 没有找到相关文章

最新更新