Лучший способ реализовать GMail как уведомитель в Android - PullRequest
2 голосов
/ 21 января 2012

Я ищу приложение типа уведомителя для Android. Просто сидит в фоновом режиме и время от времени выполняет поиск через Интернет и уведомляет о важных входящих данных.

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

Уведомления Gmail в Android, кажется, проверяют электронную почту, как только я подключаюсь к Интернету. Есть ли способ для моего кода сделать то же самое?

Спасибо!

Ответы [ 3 ]

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

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

Теперь, учитывая описание вашей проблемы, вы хотите рассмотреть решение push . Так работает клиент Gmail для Android. Собственное push-решение Android называется C2DM , и оно свободно доступно для версий 2.1 +.

Теперь, как это будет работать?

Общая идея заключается в следующем: используя Gmail в качестве примера, скажем, сервер (т.е. ваш бэкэнд) получает новое электронное письмо для пользователя X. Затем ваш сервер отправит целевое сообщение вашему приложению, установленному на устройстве X, после чего ваше приложение свяжется с вашим сервером и получит сообщение.

Теперь позвольте мне кратко описать опрос:

App: Hey, got anything for me?
Server: Nope
App: sleep for a bit
App: Hey, got anything for me?
Server: Nope
App: sleep for a bit
App: Hey, got anything for me?
Server: Yep, here it is!
...

В последнем примере ваше приложение потребило все эти дополнительные ресурсы, фактически ничего не выполнив, тогда как в сценарии push это был один вызов сервера для получения сообщения. Вы можете легко увидеть, как плохо опрос может продлить срок службы батареи.

1 голос
/ 10 сентября 2012

Есть приложение под названием Goofier. Он делает именно то, что вы просите, и может обслуживать более одной учетной записи Gmail. Он упакован в виде веб-приложения и работает на Android под TJWS. Тем не менее, можно использовать любой другой сервер приложений, а приложение можно извлечь и запустить в автономном режиме.

0 голосов
/ 25 июля 2013

@ Rob AlarmManager - альтернатива cron для Android.

...