应用已关闭但音乐仍在播放

时间:2012-02-03 16:18:00

标签: android

我为Android编写了一个应用程序,后台有一个音乐剧。当我关闭应用程序音乐继续播放。是什么原因?为什么一切都属于应用程序不会自动关闭?我应该手动停止一切吗?

5 个答案:

答案 0 :(得分:2)

请阅读Application Fundamentals,了解Android'应用'可以由许多不同的部分组成。例如,Activity不是完整的app,当您离开Activity以返回Android设备上的主页时,您就不会关闭该应用。

回答你的问题......

  

我应该手动停止一切吗?

不,通常你会让操作系统整理一下,但是如果你的音乐播放是肯定的,那么你应该停止播放音乐。

答案 1 :(得分:2)

我认为来自Android开发者博客的this funny post by Tim Bray清楚地解释了何时应停止音乐以及何时(以及如何)恢复音乐。

答案 2 :(得分:1)

播放媒体可能很棘手,并且很大程度上取决于您如何设置。您应该真正阅读找到的文档herehere。我不知道你是如何设置你的应用程序所以我不能给你具体细节,但我怀疑你是通过服务运行它(“在后台”),在这种情况下,它在一定程度上不受活动和需求的影响离开应用程序时进行管理。

答案 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();
}