MediaController BACK按钮不起作用

时间:2015-03-25 04:05:45

标签: android

我有一个带有MediaPayerMediaController的音乐应用,当音乐播放时我按下按钮不能让活动退出。 我从源代码中发现MediaController捕获了KeyEvent.KEYCODE_BACK中的MediaController#dispatchKeyEvent()。所以我通过添加以下代码来覆盖该方法:

if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
    return false;
}
return super.dispatchKeyEvent(event);

但它仍然没有运气。

1 个答案:

答案 0 :(得分:0)

您还可以覆盖hide()方法,以便每次都显示mediaController:

mediaController = new MediaController(this){
     @Override
     public void hide() {
         //do Nothing
     }     

     //Handle BACK button
     @Override
     public boolean dispatchKeyEvent(KeyEvent event) {
         if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){
             super.hide();//Hide mediaController
             finish();//Close this activity
             return true;//If press Back button, finish here
         }
         //If not Back button, other button (volume) work as usual.
         return super.dispatchKeyEvent(event);
     }
};