2010-11-09 1 views
0

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

+1

Локальное обслуживание достаточно хорошее, но Commonsware придет и расскажет вам, почему это плохая идея, чтобы поддерживать такую ​​долговременную службу. – Falmarri

ответ

2

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

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

Является ли местное обслуживание достаточным или мне нужно реализовать AIDL?

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

+0

AlarmManager - именно то, что я искал, и правильный способ реализовать это, спасибо. – ninjasense

0

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

Смежные вопросы