从设置片段返回后,在活动中杀死媒体播放器

时间:2015-09-16 03:01:05

标签: java android fragment android-mediaplayer lifecycle

我是Android新手。我正在做我的第一个应用程序。我有一个ActivityMain,我去了Preferences Fragment,我可以选择启用或禁用音乐。在我更改我的首选项并按下确定后,片段关闭,我想检查用户是否在音乐选项上放了“否”,在这种情况下杀死媒体播放器。我应该在哪里做我把它放在onResume上,但它不起作用。从片段返回后我应该把代码放在哪里触发killMusic()方法?

@Override
protected void onResume() {
    super.onResume();
    music = pref.getString("music", null);
    if (music.equals("No")){
        killMusic();
    }
}


private void killMusic() {
    if (introSong != null) {
        introSong.release();
    }
}

1 个答案:

答案 0 :(得分:0)

首先,记下一些日志消息,以便检查您的方法是否被调用,如:

protected void onResume() {
    super.onResume();
    Log.d("DEBUG","MyClass::onResume called");
    music = pref.getString("music", null);
    if (music.equals("No")){
        killMusic();
    }
}

话虽如此,你的代码是onResume中的一些片段还是活动的代码?因为您的Preference是一个片段,因此在不暂停/恢复主要活动的情况下调用它。这可以解释为什么你的代码没有工作/被调用......