我为Android编写了一个应用程序,后台有一个音乐剧。当我关闭应用程序音乐继续播放。是什么原因?为什么一切都属于应用程序不会自动关闭?我应该手动停止一切吗?
答案 0 :(得分:2)
请阅读Application Fundamentals,了解Android'应用'可以由许多不同的部分组成。例如,Activity
不是完整的app
,当您离开Activity
以返回Android设备上的主页时,您就不会关闭该应用。
回答你的问题......
我应该手动停止一切吗?
不,通常你会让操作系统整理一下,但是如果你的音乐播放是肯定的,那么你应该停止播放音乐。
答案 1 :(得分:2)
我认为来自Android开发者博客的this funny post by Tim Bray清楚地解释了何时应停止音乐以及何时(以及如何)恢复音乐。
答案 2 :(得分:1)
播放媒体可能很棘手,并且很大程度上取决于您如何设置。您应该真正阅读找到的文档here和here。我不知道你是如何设置你的应用程序所以我不能给你具体细节,但我怀疑你是通过服务运行它(“在后台”),在这种情况下,它在一定程度上不受活动和需求的影响离开应用程序时进行管理。
答案 3 :(得分:1)
是的,你必须手动停止它。你在使用MediaPlayer吗?我认为API文档表明您需要在完成播放后释放播放器。所以在你的onDestroy上做一个music.release();
答案 4 :(得分:0)
这段代码对我有用!
public class MainActivity extends AppCompatActivity {
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(this, R.raw.beep_warning);
final CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (checkBox.isChecked()) {
mediaPlayer.start();
mediaPlayer.setLooping(true);
}
else{
mediaPlayer.pause();
}
}
});
}
@Override
protected void onStop() {
super.onStop();
mediaPlayer.release();
}