Как запустить разные экземпляры сервисов из разных действий - PullRequest
0 голосов
/ 30 октября 2011

В моем приложении для Android я запускаю разные экземпляры моего сервиса из другой активности. Например, из операции A я хочу запустить службу, а из операции B я хочу запустить другой экземпляр этой же службы.

Из различий я использую следующие строки кода:

Задание A

svc = new Intent(AActivity.this, Service.class);
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(svc);
        `

Деятельность B

svc = new Intent(BActivity.this, Service.class);
svc.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(svc);

Проблема в том, что создается только одна служба. Есть решение? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

Я тоже хотел этим заняться, но, сделав кучу копаний, пришел к такому же выводу.Невозможно запустить несколько экземпляров одного и того же сервиса.

Это цитата с форумов разработчиков Android:

Сервисы - это одиночные игры.Вы не используете stopService () с bindService ().Служба остается созданной, пока в ней есть один или несколько клиентов, ИЛИ она явно находится в состоянии запуска>.

Дайан Хэкборн, инженер платформы Android

Извините заплохие новости.

Ура

0 голосов
/ 31 октября 2011

Например, из действия A я хочу запустить службу, а из действия B - запустить другой экземпляр той же службы.

Это невозможно, извините.

...