ava*_*fab 0 android android-button android-mediaplayer android-event android-activity
我正在尝试覆盖后退按钮以停止音频播放器并关闭媒体播放器活动,但我注意到音量按钮不再起作用。我想覆盖代码存在错误。附注。在我的MediaControllerI overridehide()方法中,始终显示控件。
mediaController = new MediaController(this)
{
@Override
public void hide() {
// TODO Auto-generated method stub
//do nothing
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (mediaPlayer != null) {
mediaPlayer.reset();
mediaPlayer.release();
mediaPlayer = null;
}
super.hide();
Activity a = (Activity)getContext();
a.finish();
}
return true;
}
};
Run Code Online (Sandbox Code Playgroud)
您的问题出在 dispatchKeyEvent() 中:
您正在使用return true所有硬件键,这会阻止所有键响应,
而你应该使用
return super.dispatchKeyEvent(event);
Run Code Online (Sandbox Code Playgroud)
对于后退键以外的键。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (mediaPlayer != null) {
mediaPlayer.reset();
mediaPlayer.release();
mediaPlayer = null;
}
finish();
return true;
}
**return super.dispatchKeyEvent(event);**
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1247 次 |
| 最近记录: |