Сервис переживает родительское приложение на Google Glass?

У меня есть служба, работающая в том же процессе.

    <service
        android:name=".service.GlassService"
        android:exported="true"
        android:label="@string/app_name" />

Я запускаю службу с помощью startService ().

        startService(new Intent(this, GlassService.class));

Когда я смахиваю вниз и выхожу из приложения, служба продолжает работать. Когда я убиваю его из DDMS, служба перезапускается, вызывая службу с помощью _ 3_ и START_NOT_STICKY don ' не имеет значения.

Единственный способ остановить службу - это явно вызвать stopService () или stopItself ( ) или без startService ().

На других устройствах Android этого не происходит. Типично ли такое поведение для Google Glass?


person jellyfication    schedule 19.03.2014    source источник


Ответы (1)


Обычно люди пользуются услугами именно поэтому. Это длительные процессы, которые обычно используются для фоновой обработки или для синхронизации данных от поставщика контента. Так что это легко расширение, которое может пережить родительский процесс.

Источник:

  1. То, что вы описываете, происходит и с моим приложением, и оно запускается на обычном телефоне.
  2. Об этом говорится в документации Google [docs] [1] (прочтите часть о том, почему службы не являются потоком)

    [1]: http://developer.android.com/reference/android/app/Service.html

person user3182350    schedule 20.03.2014
comment
На наших не стеклянных устройствах служба всегда завершалась, когда мы выходили из приложения (был вызван onDestroy ()), независимо от того, что мы делали. Мы понимали, что служба неявно запускается в том же процессе (не изолированном), что и приложение, поэтому, когда приложение прекращается, служба умирает. В опубликованной вами ссылке я не нашел ничего о сервисном приложении. Не могли бы вы прямо указать на ту часть, о которой говорите? - person jellyfication; 21.03.2014
comment
Не существует ожидаемой разницы в поведении между сроком службы стекла и не из стекла. Что вы имели в виду, когда мы вышли из [приложения]? Не могли бы вы уточнить, что вы имеете в виду под стеклом и не из стекла? Приложение завершается только тогда, когда остановлены все действия / фрагменты / службы / потоки. Нажатие кнопки «Назад» или смахивание вниз не должно выходить из приложения, если служба все еще работает. Возможно ли, что ваша реализация сервиса Live Card отличается от реализации сервиса в приложении, отличном от Glass? - person swooby; 10.04.2014