Intereting Posts
Обнаруживать, когда эмулятор Android полностью загружен В приложении Unity android, как получать контент из службы ссылки на андроидную библиотеку Библиотека Json Parsing Gson от Google: В чем разница между JsonElement и JsonObject? EditText vs TextView Android GridView с категориями? Как разместить текстовое изображение справа и слева от макета? Есть ли разница между Apache Base64.encodeBase64 и Android Base64.encode от Base64.Default? Применяйте различные стили к кнопке при нажатии Android Support Library 23.2.0, вызывающая стрелку панели инструментов черным Установите значок NavigationDrawer правой кнопкой мыши с помощью виджета AppCompat-V-21 Couchdb на Android Как отправлять и получать SMS-сообщения с данными Установить изображение в левой части EditText в Android Как сфокусировать поле ввода в браузере Android через javascript или jquery Как получить растровое изображение, предоставляющее URI, java.io.FileNotFoundException: Нет поставщика контента: /sdcard/Hello/1310610722879.jpg

Общение с активностью из службы (LocalService) – лучшие рекомендации для Android

Общий сценарий – активность с фоновым сервисом для сервера опроса.

Служба будет периодически запускаться через AlarmManager, а также выполнять задачи для Activity (пользователь нажимает кнопку, выбирает что-то с сервера).

Здесь я бы хотел узнать лучшие практики. Я думаю, что лучшим дизайном будет пример Android LocalService: http://developer.android.com/reference/android/app/Service.html#LocalServiceSample

Однако в этом примере Activity имеет ссылку на активность mBoundService но нет обратного соединения ( услуга не имеет способа вызвать Activity ).

Каков наилучший способ для Сервиса вызвать Activity?

Я использую Intents, BroadcastReceivers, Messages? Как?

Solutions Collecting From Web of "Общение с активностью из службы (LocalService) – лучшие рекомендации для Android"

Я думаю, что лучшим дизайном будет пример Android LocalService: http://developer.android.com/reference/android/app/Service.html#LocalServiceSample

Я бы не стал. Используйте самую свободную муфту, которую вы можете стоять. Следовательно, в среднем, для шаблона команды с startService() вместо шаблона привязки с bindService() . Примечательно, что привязка – это немного боль, когда дело касается изменений конфигурации (например, вращения экрана).

Каков наилучший способ для Сервиса вызвать Activity? Я использую Intents, BroadcastReceivers, Messages? Как?

См. « Уведомлять активность из службы».

Если вам нужна жесткая связь между вашей деятельностью с помощью bindService (), то, как вы общаетесь, зависит от того, кто является источником связи.

Если Служба инициирует (из-за сообщения «Тревога», в котором есть какая-то новая информация для обмена), он обычно отправляет широковещательную передачу.

Если действие инициируется (из-за того, что ваш пример «перейдите что-нибудь с сервера»), он может обрабатываться асинхронно с использованием AsyncTask или аналогичного. То есть вы можете получить с сервера в AsyncTask.doInBackground () и отправить результаты обратно в активность в AsyncTask.onPostExecute. Этот сценарий будет несколько более сложным, если ожидается, что запрошенная операция займет очень много времени – и в этом случае я бы отключил ее и отправил обратно службу из службы.