ورود

View Full Version : استارت شدن دوباره سرویس بعد از بسته شدن برنامه



mohsen57
شنبه 25 مهر 1394, 22:52 عصر
سرویسی(Service) در برنامه من وجود دارد که با یک دکمه استارت میشه، وقتی از برنامه خارج میشم آن سرویس دوباره Create میشه. سرویس که ساخته شده و درحال اجراست چرا دوباره ساخته میشه؟ onCreate و onStartCommand هم دوباره اجرا میشه و کدهای درونشون دوباره اجرا میشن. چجوی این مشکل رو باید حل کرد؟
این کلاس سرویسه منه:


public class MyService extends Service {
private static final String TAG = "MyService";
MediaPlayer player;

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//super.onStartCommand(intent, flags, startId);
player.start();
return Service.START_FLAG_REDELIVERY;
}

@Override
public IBinder onBind(Intent intent) {
return null;
}

@Override
public void onCreate() {
Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show();
Log.d(TAG, "onCreate");

player = MediaPlayer.create(this, R.raw.braincandy);
player.setLooping(false); // Set looping
}

@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
Log.d(TAG, "onDestroy");
player.stop();
}

@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
player.start();
}
}