0

私は、いくつかのオプションを備えたメニューであるアプリケーションを持っています。選択されたすべてのオプションは、新しいアクティビティにつながります。また、サービスを使用してバックグラウンドで音楽を再生しています。どのような活動に集中していても、音楽を継続的に再生したい.

私の問題は次のとおりです。

  • onPause() または onStop() をオーバーライドしていない場合、別のアクティビティを開いたときに音楽は正常に動作します。しかし、ホームボタンを押しても音楽が再生されます。
  • onPause() または onStop() をオーバーライドすると、ホーム ボタンを押すと音楽が停止しますが、別のアクティビティが開かれると音楽も停止します。

それで、私は今何をすべきですか?

4

1 に答える 1

1

onPause()ブール値フラグをオーバーライドして使用できます。新しいアクティビティを開始する場合は
、ブール値を に設定します。trueが呼び出されたときonPause()に、そうでない場合trueは音楽を停止する必要があります。

boolean keepPlaying = false;

protected void onPause() { 
    if(!keepPlaying)
        stopService(new Intent(this, MediaPlayerServices.class)); 
    super.onPause();
}
于 2012-11-18T19:30:29.280 に答える