Какая разница в звонках
stopSelf()
, stopSelf(int)
или stopService(new Intent(this,MyServiceClass.class))
внутри onStartCommand()
?
например, если я дважды запускаю те же службы:
...
Intent myIntent1 = new Intent(AndroidAlarmService.this, MyAlarmService.class);
myIntent1.putExtra("test", 1);
Intent myIntent2 = new Intent(AndroidAlarmService.this, MyAlarmService.class);
myIntent2.putExtra("test", 2);
startService(myIntent1);
startService(myIntent2);
...
И реализуйте onStartCommand таким образом:
public int onStartCommand(Intent intent, int flags, int startId)
{
Toast.makeText(this, "onStartCommand called "+intent.getIntExtra("test", 0), Toast.LENGTH_LONG).show();
stopService(new Intent(this,MyAlarmService.class));
return START_NOT_STICKY;
}
Я получаю точно такое же поведение с тремя методами, то есть onDestroy вызывается только после того, как onStartCommand выполняется дважды.