我使用 MediaController 来播放音乐。当点击 "back"按钮时我想让 MediaController 出现:
MediaController mediaController = new MediaController(this){
@Override
public void setMediaPlayer(MediaPlayerControl player) {
super.setMediaPlayer(player);
this.show();
}
@Override
public void show(int timeout) {
super.show(0);
}
//instead of press twice with press once "back" button to back
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
Activity a = (Activity)getContext();
a.finish();
}
return true;
}
};
但是现在 MediaController 的显示还是有问题。当 MediaController 出现了,然后触摸屏幕时,MediaController 就会隐藏。
我用的下面的代码:
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("screen","touch");
return true;
}
还是不能运行。Logcat 中没有显示 string。如何处理这个问题?
在 media controller 中重写这个方法:
@Override
public void hide() {
// TODO Auto-generated method stub
super.show();
}