Вам нужно внедрить AIDL, чтобы служба работала вне вашей жизни приложений? - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть сервис, который будет отправлять уведомления с синхронизированными задачами. Мне нужно, чтобы эта служба работала за пределами жизненного цикла приложения, но мне нужен только доступ к функциям служб в течение срока службы приложения. Достаточно ли локального сервиса или мне нужно реализовать AIDL? Спасибо.

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

У меня есть служба, которая будет отправлять уведомления с синхронизированными задачами.

Под этим, я надеюсь, вы подразумеваете AlarmManager и IntentService, так что ваш сервис находится в памяти только в течение минимально возможного времени, достаточного, чтобы проделать небольшую работу, поднять Notification и уйти , Не пишите сервисы, которые пытаются жить вечно, поскольку это невозможно - пользователи или операционная система уничтожат ваш сервис.

Достаточно ли локального сервиса или мне нужно реализовать AIDL?

Задавая этот вопрос, я считаю, что у вас есть более фундаментальные проблемы, такие как не использование AlarmManager и IntentService для вашей периодической работы. Периодически ваша служба повышения не должна работать, и, следовательно, не должно быть «функций служб», к которым вы пытаетесь получить доступ.

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

Вы не «внедряете AIDL» - AIDL (определение интерфейса Android LANGUAGE) является рекомендуемым, но не обязательным механизмом удобства / абстракции для генерации кода, необходимого для реализации интерфейса Binder RPC, который является рекомендуемым, но не единственным способом связис услугой.

...