我有一个带有MediaPayer
和MediaController
的音乐应用,当音乐播放时我按下按钮不能让活动退出。
我从源代码中发现MediaController
捕获了KeyEvent.KEYCODE_BACK
中的MediaController#dispatchKeyEvent()
。所以我通过添加以下代码来覆盖该方法:
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
return false;
}
return super.dispatchKeyEvent(event);
但它仍然没有运气。
答案 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);
}
};