Android HOME键覆盖不工作



我知道这个问题已经被问过很多次了,但提供的解决方案似乎都不适合我。我试过这里,这里和这里

我的要求:-我想在android上覆盖HOME键和RECENT APPS按钮。我知道这不是最好的,但要求是这样的,我必须这样做。

我的代码:-

@Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if(keyCode == KeyEvent.KEYCODE_HOME)
        {
            Log.d("Key","Home button clicked");
            return false;
        }
        if(keyCode == KeyEvent.KEYCODE_MOVE_HOME)
        {
            Log.d("Key","Home button clicked Msg 2");
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }

但是onKeyDown()永远不会被调用。我得到IllegalArgumentException:窗口类型不能改变后,窗口添加错误。

我知道禁用HOME键的一种方法是让我的应用程序表现得像一个启动应用程序。但是有没有更好的方法呢?

你不能这样做。你为你的Activity定义了一个意图过滤器:

 <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.HOME" />
      <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>

相关内容

  • 没有找到相关文章

最新更新