Android: бесконечно запущенный Сервис для получения событий? - PullRequest
0 голосов
/ 13 января 2012

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

Мне кажется, что это похоже на приложения электронной почты в смартфонах, например, когда вы получаете новое электронное письмо (в моем случае это событие), оно может отображать уведомления, а также может обновлять адаптер списка при получении события.

Но я не знаю, как мне это реализовать?

Ответы [ 3 ]

3 голосов
/ 13 января 2012

Вы должны взглянуть на C2DM (push-сообщения): http://code.google.com/intl/sv-SE/android/c2dm/index.html#intro
он позволяет серверу отправлять сообщения на устройства в любое время.

Из ссылки:

Вот основные характеристики Android Cloud to Device Обмен сообщениями (C2DM):

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

0 голосов
/ 13 января 2012

Я думаю, вы должны запустить Service, как только устройство загрузится.Есть хорошее руководство здесь как этого добиться.

0 голосов
/ 13 января 2012

События с сервера называются «push-уведомлениями» и реализуются через «Обмен сообщениями с устройства Cloud 2» (C2DM). На мобильной стороне эти сообщения отправляются как события трансляции (см. BroadcastReceiver). Для полного примера см. Некоторые учебники: Google , Vogella или здесь Stackoverflow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...