私はアンドロイドゲームを作っていて、バックグラウンドミュージックを再生するサービスを持っています。2 つのボタンを使用して、タイトル/メニュー アクティビティから音楽を開始および停止します。私が抱えている問題は、通話を受信したりアプリを終了したりするたびに音楽がオンのままになっていると、アプリに移動してオフにするまで音楽がまだ再生されていることです。
2 に答える
1
それでもサービスで音楽を再生したい場合は、アクティビティ (ライフサイクル イベントについて知る場所) からサービス (音楽を再生/停止できる場所) に通信する必要があります。
Android では、サービスをアクティビティにバインドすることでこれを行います。Bound Servicesや、ウェブ上の他の多くの記事 (例:ここ) などを参照してください。
背後にある考え方は、カスタム API を使用してクラス/オブジェクトを作成することです。このオブジェクトはアクティビティ コードで使用できます。この API でメソッドを呼び出すと、Android は実際にこの呼び出しをサービスにディスパッチします。このようにして、コードのどこかで Service を開始し、後でその Binder を操作して Service を取得できます。
HTH
于 2011-05-31T22:38:46.157 に答える
1
これを行う最善の方法は、onPause() または onStop() で音楽を停止するコマンドを送信することです。あなたのコメントによると、音楽を停止する方法をすでに知っているようです。対応するコマンドでも音楽を開始する必要があります。onPause() の使用をお勧めします。アクティビティのライフサイクルを参照してください。
于 2011-05-31T21:42:29.927 に答える