活动不破坏完全
问题描述:
我有以下活动的应用程序:活动不破坏完全
A->B->C
在C
我使用下面的代码时,我的web服务返回true发挥循环MP3文件(我们会定期检查):
void PlayBeepLoop()
{
try {
if(player.isPlaying())
return;
AssetFileDescriptor descriptor = getAssets().openFd("beep.mp3");
player.reset();
player.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
descriptor.close();
player.prepare();
player.setVolume(1f, 1f);
player.setLooping(true);
player.start();
} catch (Exception e) {
e.printStackTrace();
}
}
的问题是,如果我从C->B
去逼人退,我相信循环在后台继续运行,当它返回true它会发出蜂鸣声。
继C
代码也不起作用:
public void onBackPressed() {
super.onBackPressed();
finish();
}
请帮助 PS:我需要提示音按下后退按钮时,仅停止。应用程序仍在显示时按下主屏幕按钮C
应允许在应用程序处于后台时发出嘟嘟声。
答
删除super.onBackPressed()并在onBackPressed()方法上面添加@Override。
答
与其说
finish();
使用
player.stop();
finish();
尝试停止循环以某种方式调用'完成()之前;'。 – Fusseldieb
如果整个活动都没有了,为什么媒体播放器仍然活着? –
看看:http://*.com/questions/4924071/calling-finish-on-an-android-activity-doesnt-actually-finish – Fusseldieb