私のAndroidアプリでは、バックグラウンドでオーディオを再生できるようにしたいと考えています。サービスでMediaPlayerを使用することは、まさに私が必要としていることだと思いました。そこで、Android開発者のWebサイトにあるGoogleのサンプルコードにほぼ従ってサービスを作成しました。ただし、私の問題は、サービスにバインドしようとする新しいアクティビティが開始されるたびに、新しいサービスが開始されることです(または、少なくともonCreateが再呼び出しされます)。私はドキュメントを読み通しました、そして私がしていることは完全に合法であるはずです。誰かがさらに洞察を提供できますか?ありがとう!
public class PlayerService extends Service implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnBufferingUpdateListener {
public class PlayerBinder extends Binder {
PlayerService getService() {
return PlayerService.this;
}
}
private final IBinder mBinder = new PlayerBinder();
public IBinder onBind(Intent intent) {
return mBinder;
}
そして私の活動から私はからのサービスにバインドしますonCreate
private void doBindService() {
this.bindService(new Intent(this, PlayerService.class), connection, Context.BIND_AUTO_CREATE);
}