私のアプリケーションは、常にサービスでバックグラウンド オーディオを実行します。ホームボタンをクリックすると、コントロールはホーム画面に戻りますが、オーディオは再生され続けます。
では、ホームボタンをクリックしたときにオーディオの再生を停止するにはどうすればよいですか?
私のアプリケーションは、常にサービスでバックグラウンド オーディオを実行します。ホームボタンをクリックすると、コントロールはホーム画面に戻りますが、オーディオは再生され続けます。
では、ホームボタンをクリックしたときにオーディオの再生を停止するにはどうすればよいですか?
オーディオが によって再生されている場合、が破棄されてもオーディオはService
影響を受けません。Activity
それがまさにそれをサービスに分離する目的です。
UI に依存させたい場合は、代わりにプレイをアクティビティに移動します。アクティビティが終了すると停止します。または、音楽を停止するためにサービスにメッセージを送信することもできます。
詳細については、開発ガイドを参照してください: http://developer.android.com/guide/topics/fundamentals/bound-services.html
でオーバーライドonPause()
して再開しonResume()
ます。
で音楽を再生する理由はService
?
その場合は、 と を使用bindService()
しunbindService()
ます。そのため、サービスは呼び出しonDestroy()
時に応答できます。Activity
unbindService()
アクティビティは onPause() および/または onWindowFocusChanged() をオーバーライドして、実行していないか、ディスプレイの上にいないことを検出できます。これらは、アクティビティが表示されていない場合に再生を意図していないオーディオの再生を停止するのに適した場所です。アプリケーション内の他のアクティビティへの切り替えには注意する必要があります。