Java Android活动未在按下后退按钮后结束
我已将以下代码添加到我拥有的类中:Java Android活动未在按下后退按钮后结束,java,android,android-activity,Java,Android,Android Activity,我已将以下代码添加到我拥有的类中: @Override public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); /* AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("test"); dialog.setMessage("tes
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
/*
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("test");
dialog.setMessage("test 123");
dialog.setNeutralButton("OK", null);
dialog.create().show();
*/
finish();
}
我知道正在调用该方法,因为当我按下后退按钮时,会显示警报对话框。但是,当我按back键时,MediaPlayer会继续播放,这会将我带到上一屏幕
为什么会这样?不应该停止MediaPlayer吗
finish();
完成你的活动
您应该
stop()
活动onPause()
方法中的媒体播放器(并在onDestroy()
中释放它)好,这是因为MediaPlayer
在后台服务中播放音乐,所以要停止音乐,您必须添加以下内容:
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
if(mediaplayer.isPlaying())
mediaplayer.stop();
finish();
}
其中
mediaplayer
是mediaplayer
类的实例。检查您的mediaplayer
是否在您的onBackPressed()
事件中播放
尝试如下:
@Override
public void onBackPressed() {
if( mediaPlayer.isPlaying() ) {
mediaPlayer.stop();
}
super.onBackPressed();
}
试试这个:
public void onDestroy()
{
super.onDestroy();
activities.remove(this);
}
public static void finishAll()
{
for(Activity activity:activities)
activity.finish();
}
或者尝试在onPause()方法中添加finish方法,这可能也会起作用
希望这能有所帮助通常音乐是通过后台服务播放的,不会受到结束活动的影响。MediaPlayer不是活动的一部分<代码>完成()