Android 上下文按钮阻止后退按钮功能
Android context button blocks back button functionality
我的所有活动都有问题,当我按下后退按钮时它工作正常,但是当我之前按下上下文菜单按钮时,当我按下后退按钮时没有任何反应。
我说的是 phone 按钮,而不是用于后退导航的工具栏图标。有人处理过这个吗?
编辑:
没有菜单显示,onPrepareOptionsMenu() 被删除,phone 在我按下返回但没有操作时振动。
我看到如果我膨胀菜单,它会在关闭弹出窗口的第一个返回后正常工作。
我发现只有在使用 setSupportActionBar(toolbar) 设置工具栏时才会发生这种情况;
我有几乎相同的问题,这是我的情况:
- 带有工具栏的 AppCompatActivity setSupportActionBar(toolbar);
- 我正在使用导航抽屉(不知道这是否会影响)
- onBackPressed() 被覆盖以提示注销对话框
一切正常,直到我按下设备菜单按钮,然后应用程序开始忽略后退按钮。
这是我按下设备菜单按钮后看到的
- 在此之后未调用 onBackPressed() 方法
- 如果你设置了一个onKeyUp(int keyCode, KeyEvent event),它接收事件(你可以检查de keyCode是否与KeyEvent.KEYCODE_BACK相同)
我不知道为什么 onBackPressed 停止被调用,在不覆盖 onBackPressed 和 onKeyUp 的情况下尝试,问题仍然是一样的。
我知道这不是最好的解决方案,但为了解决这个问题我正在使用下一个代码:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode==KeyEvent.KEYCODE_BACK){
onBackPressed();
return true;
}
return super.onKeyUp(keyCode, event);
}
希望对您有所帮助。
我的所有活动都有问题,当我按下后退按钮时它工作正常,但是当我之前按下上下文菜单按钮时,当我按下后退按钮时没有任何反应。 我说的是 phone 按钮,而不是用于后退导航的工具栏图标。有人处理过这个吗?
编辑: 没有菜单显示,onPrepareOptionsMenu() 被删除,phone 在我按下返回但没有操作时振动。 我看到如果我膨胀菜单,它会在关闭弹出窗口的第一个返回后正常工作。
我发现只有在使用 setSupportActionBar(toolbar) 设置工具栏时才会发生这种情况;
我有几乎相同的问题,这是我的情况:
- 带有工具栏的 AppCompatActivity setSupportActionBar(toolbar);
- 我正在使用导航抽屉(不知道这是否会影响)
- onBackPressed() 被覆盖以提示注销对话框
一切正常,直到我按下设备菜单按钮,然后应用程序开始忽略后退按钮。
这是我按下设备菜单按钮后看到的
- 在此之后未调用 onBackPressed() 方法
- 如果你设置了一个onKeyUp(int keyCode, KeyEvent event),它接收事件(你可以检查de keyCode是否与KeyEvent.KEYCODE_BACK相同)
我不知道为什么 onBackPressed 停止被调用,在不覆盖 onBackPressed 和 onKeyUp 的情况下尝试,问题仍然是一样的。
我知道这不是最好的解决方案,但为了解决这个问题我正在使用下一个代码:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode==KeyEvent.KEYCODE_BACK){
onBackPressed();
return true;
}
return super.onKeyUp(keyCode, event);
}
希望对您有所帮助。