Добавить атрибут stopWithTask = "true" в <service/"> в android манифест xamarin

111
2

Я хочу очищать ресурсы и останавливать службы, если приложение было развернуто и закрыто. В этом случае обычные события onDestroy LifeCycle не запускаются. Через небольшой поиск я обнаружил, что мне нужно переопределить OnTaskRemoved(Intent rootIntent) и добавить stopWithTask="true" для показания в манифесте.

Но как добавить stopWithTask="true" атрибут в <service/> в окончательно сгенерированный манифест через Xamarin Visual Studio. [Service] указанный выше, классы С# не имеют свойства stopWithTask Exported, Name, IsIsolated, Icon.

спросил(а) 2017-05-02T15:09:00+03:00 3 года, 5 месяцев назад
1
Решение
58

Я считаю, что вы можете просто вызвать StopSelf() в OnTaskRemoved() который эффективно сделает то же самое, что android:stopWithTask="true".

К сожалению, элемент android:stopWithTask не документирован хорошо. Если вы посмотрите на основной синтаксис Service, вы должны увидеть этот элемент сверху:

https://developer.android.com/guide/topics/manifest/service-element.html

Однако он едва документирован в FLAG_STOP_WITH_TASK:

https://developer.android.com/reference/android/content/pm/ServiceInfo.html#FLAG_STOP_WITH_TASK

Какие ссылки на:

https://developer.android.com/reference/android/R.attr.html#stopWithTask

Я бы лично использовал первый метод вместо этого атрибута, поскольку он не документировал это на стороне Android.

ответил(а) 2017-05-02T19:10:00+03:00 3 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема