バックグラウンドサービスを使用して、自分のアプリのバックグラウンドミュージックをすべてのアクティビティで実行しています。問題は、アプリを実行するとうまくいくが、私がそれを閉じると、デバイスからアンインストールするまで音楽を再生し続けるということだ!Androidアプリの私のバックグラウンドミュージックサービスは、アプリを終了しても引き続き再生されます。
ここで問題は何と思いますか?
/**
* Created by Naira on 12/5/2016.
*/
public class Background_music extends Service {
private static final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.music);
player.setLooping(true); // Set looping
player.setVolume(50,50);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return START_STICKY;
}
public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
player = null;
}
@Override
public void onLowMemory() {
}
}
Anはここに私の最初のアクティビティのコードは意図としてそれを実行するには:
Intent svc=new Intent(this, Background_music.class);
startService(svc);
そして、もちろん、私はそれを宣言しました。ここ
は、私のバックグラウンドサービスでコードです私のマニフェストで=) 事前に感謝!
なぜSTART_STICKY TAGを使用していますか – Noorul
サービスはあなたのアクティビティが実行されていなくても実行されます。アクティビティを閉じるときにサービスを停止します。 thatsすべて – Noorul
@Naira Hashim: 'BindingService'を使用してください! – AndiGeeky