Я разработал Android сервис, который я автозапуском со следующим кодом:Запуск 2 экземпляров одной и той же службы?
AndroidManifest.xml:
<!-- Declare Boot Completed Broadcast Receiver, For Service Auto-Start on Boot -->
<receiver android:name=".utils.os.ServiceAutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
ServiceAutoStart.java:
public class ServiceAutoStart extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// Start Patch Service On Boot
context.startService(new Intent(context, PatchService.class));
}
}
Кроме того, у меня есть «Средство просмотра», которое запускается и привязывается к службе с помощью функций startService() и bindService(). По большей части все работает так, как ожидалось. Недавно я заметил, что если я немедленно открою приложение «Просмотр», как только загрузится мое Android-устройство, я, похоже, создаю 2 экземпляра службы (см. Рисунок ниже). Я не думал, что можно создать 2 экземпляра одной и той же службы. Что здесь происходит? Я неправильно интерпретирую то, что вижу в DDMS?
Будет ли процесс, который обрабатывает код автозапуска, отдельно от службы в DDMS? Это то, что я вижу? –
@JesseJ: Нет. Вы написали и установили три отдельных приложения. Вы можете увидеть их имена пакетов в DDMS (отредактированные на снимке экрана). Эти приложения, предположительно, не попали туда с помощью эльфийской магии или вне работы инопланетян. Они там, потому что вы их написали, вы их установили, и вы запускаете код, который запускает все три из них. Почему вы это сделали, и чего вы ожидаете из этих трех приложений, я не могу сказать. – CommonsWare
@JesseJ: Ваш вопрос и комментарий предполагают, что вы думаете, что должно быть только одно приложение. Есть три приложения. Если вы не знаете, что такое эти приложения или почему они там, удалите их с вашего устройства, а затем посмотрите, начинаете ли вы получать ошибки/предупреждения в LogCat, привязанные к этим таинственным дополнительным приложениям. – CommonsWare