Связь между удаленным сервисом и активностью android - PullRequest
0 голосов
/ 11 августа 2011

У меня есть Activity и несколько удаленных служб, которые должны работать, даже если приложение Android не запущено.Мне нужны службы для прослушивания изменений SharedPreferences основного Activity (когда он запущен), но как я могу это сделать?

BroadcastReceiver?IPC связь?Не уверен .. Не могли бы вы помочь мне здесь?

Большое спасибо, Ману.

1 Ответ

1 голос
/ 11 августа 2011

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

Во-первых, вам не нужны "несколько удаленных сервисов". Самое большее, вам нужно несколько служб, которые не являются удаленными. Удалённость абсолютно не связана с тем, что «должно быть запущено, даже если приложение Android не запущено». Таким образом, вы тратите много памяти, процессора и батареи.

Во-вторых, поскольку ни пользователь, ни ОС не хотят, чтобы «несколько« служб »работали, даже если приложение Android не запущено», попробуйте объединить их в одну службу и использовать эту службу только тогда, когда она активно предоставляет значение для пользователя . Например, наблюдение за тиком часов НЕ активно доставляет значение пользователю - для этого используйте AlarmManager.

Мне нужны сервисы для прослушивания изменений в SharedPreferences основного Activity (когда он запущен), но как я могу это сделать?

Сделайте так, чтобы они больше не были удаленными службами, затем попросите службы зарегистрировать OnSharedPreferenceChangeListener с помощью SharedPreferences, чтобы узнать об изменениях предпочтений.

...