Я прочитал около десятка сообщений о том, как настроить независимую службу.Служба Android продолжает прекращать перезапуск приложения
В результате моих исследований и испытаний я сделал следующее:
создание тега процесса на моей службе, чтобы моя службе должна работать в отдельном потоке:
<service android:name=".Services.S_GPS" android:process="sgps"></service>
Установите onStartCommand для возврата START_NOT_STICKY и запустите службу на переднем плане:
-
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
Notification notification = new Notification();
startForeground(1337,notification);
return START_NOT_STICKY;
}
Даже после того, как все это, когда я прекратить или перезагрузить приложение, перезапуск службы:
W/ActivityManager: Планирование рестарт упавших служб co.myapp.app/. Services.S_GPS в 1000 мс
Мой вопрос в том, что еще мне не хватает, чтобы моя служба не отключилась при перезагрузке приложения? Я подозреваю, что все еще что-то не так, и служба работает в потоке приложения. Мне нужна моя служба для запуска на 100% независимо от приложения, мне не нужны они для общения (кроме приложения, запускающего его).
Можете ли вы посоветовать, как я могу предотвратить сбой службы, когда я закрываю или перезапускаю приложение?
Обновление Чтобы уточнить при перезагрузке, я имею в виду, когда я перестраиваю свой apk на телефон. Как только я начну свою службу, я прокомментирую код, который запускает сервис. Когда я переустанавливаю свой apk, он убивает службу (даже если нет повторного создания кода). Не может ли служба работать независимо от переустановки apk?
Gotcha спасибо. Я думаю, что это сделает мое тестирование сложнее, но как только код работает, все должно быть хорошо. – Aggressor
Это [решение] (http://stackoverflow.com/questions/17768932/service-crashing-and-restarting#18199749) работает для меня, как и ожидалось. –