我有幾乎同樣的問題,這是我的情況:
- AppCompatActivity與工具欄與setSupportActionBar(工具欄)設置;
- 我使用的是抽屜式導航(不知道這是否會影響)
- onBackPressed()是被覆蓋的提示註銷對話框
所有,直到我按下設備菜單按鈕做工精細,然後應用程序開始忽略後退按鈕。
這是我按下設備菜單按鈕
- 方法onBackPressed(後)看到如果設置的onkeyup(INT的keyCode,KeyEvent的事件)是不是這個
- 後調用,它接收事件(你可以檢查德鍵代碼是一樣的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);
}
希望這有助於。
是否有彈出的上下文菜單?如果是這樣,後退按鈕關閉上下文菜單,這是正常的行爲。如果您看不到上下文菜單,那麼您可能仍然定義了一個空的上下文菜單。 – Glaucus
OnPrepareOptionsMenu()被刪除,我試圖返回false,但沒有運氣。你有什麼建議? 沒有彈出窗口顯示,我可以儘可能多地回擊它,它什麼也不做。 –
你重寫onBackPressed()嗎? –