Does startService() create a new Service instance or using the existing one?
For example, in the following code, does it create two UpdateService instances or just one UpdateService instance?
Thanks.
int[] appWidgetIds = new int[] {1, 2};
for (int appWidgetId : appWidgetIds) {
Intent intent = new Intent(context, UpdateService.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
context.startService(intent);
}
If the service is already started, it does not start as second copy, but onStart()
is still called on the existing instance. Services are natural singletons — there is exactly 0 or 1 copy of the service in operation.
Answer:
The onStart
method is deprecated for now, use onStartCommand
instead.
Tags: androidandroid, service