2016-06-16 59 views
1

我的LG G Pro有一個很奇怪的問題 它有一個硬件Back,Home和Menu按鈕。 在應用程序的一個活動中,如果我點擊硬件菜單按鈕, 「onBackPressed」不會再被調用,如果我點擊硬件後退按鈕。點擊硬件菜單按鈕後,單擊硬件後退按鈕時不會調用onBackPressed

我試圖克服這種使用這段代碼:

@Override 
public boolean onKeyUp(int keycode, KeyEvent e) { 
    switch(keycode) { 
     case KeyEvent.KEYCODE_MENU: 
      if (menu != null) { 
       Log.e("Activity", "onKeyUp KEYCODE_MENU"); 
       return true; 
      } 
    } 
    return super.onKeyUp(keycode, e); 
} 

但是,這並不幫助。

下面是活動的一些代碼:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    this.menu = menu; 
    String buttonText = getString(R.string.action_bar_done); 
    MenuItem item = menu.add(MENU_GROUP, MENU_ITEM_DONE_NUMBER, 0, buttonText); 
    item.setTitle(buttonText); 
    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
    return super.onCreateOptionsMenu(menu); 
} 

回答

1

我想你想這樣做

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) {    
     onBackPressed(); 
     return true;  
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

謝謝,這解決了我的問題。我還編輯了一些不相關的與WebView相關的代碼。將在5分鐘內接受您的答案 –

+0

我只需將該代碼表單快速複製到我的Android瀏覽器應用程序 –

+0

對不起, –