【问题标题】:Call Overridden Home button in the Search Interface在搜索界面中调用覆盖的主页按钮
【发布时间】:2012-05-14 05:56:22
【问题描述】:

我像这样覆盖主页按钮:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_HOME: 
        System.out.println("hello");
        break;
    }
    return super.onKeyDown(keyCode, event);
}


@Override
public void onAttachedToWindow() {
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}

我还创建了一个搜索界面,例如: http://www.edumobile.org/android/android-programming-tutorials/search-interface/

当我点击搜索硬件按钮时,搜索界面出现。但是在我点击主页按钮的同时,没有调用主页按钮的覆盖方法,我回到了手机的主屏幕。你能帮我解决一下吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    您无法捕捉主页按钮的按下,请参阅 SO 上的this 问题以了解更多详细信息。简而言之:它是一个系统密钥,您的应用程序无法自行处理它,因为它会允许应用程序阻止用户退出它。

    【讨论】:

    • 是的,android 在几个键上作弊以保持用户体验:D
    • 但是我覆盖了它,正如您在上面的代码中看到的那样,它非常有效。你的意思是只要我在搜索界面(通过点击搜索硬件按钮)就不可能解决我当前的问题吗?
    • @Ali:“但是我覆盖了它,正如您在上面的代码中看到的那样,它非常有效”——不,它没有。首先,如果它“完美”地工作,你就不会有这个问题。其次,这种特殊技术从 Android 4.0 起不再适用。如果你想控制 HOME 按钮,写一个主屏幕。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-02-12
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    相关资源
    最近更新 更多