Уведомление о входящих письмах на андроид - PullRequest
3 голосов
/ 27 июля 2011

Я ищу способ программно перехватывать входящие электронные письма на Android, независимо от их источника (gmail, exchange, IMAP и т. Д.). Моя главная задача - взглянуть на заголовки почты, а не на тело письма. Для GMail это можно сделать только с помощью следующего кода -

ContentResolver cr = getContentResolver(); 
Cursor unread = cr.query(Uri.parse("content://gmail-ls/conversations/xxxxxx@gmail.com"), null, "label:^u", null, null); 
unread.moveToFirst(); 
int subjectIdx = unread.getColumnIndex("subject");

do {
  String subject = unread.getString(subjectIdx); 
} while (unread.moveToNext());

... есть также этот ответ . Доступно ли что-то подобное для не-почтовых аккаунтов? Я знаю, что теоретически я могу попросить пользователя ввести имя пользователя и пароль и подключиться через imap, но я не могу сделать это с точки зрения бизнеса.

Будет приветствоваться любое возможное решение, например, Java SDK, NDK, недокументированный API или любые другие необходимые средства.

1 Ответ

0 голосов
/ 15 октября 2013

Отвечая на мой собственный вопрос:

Google выпустил push-уведомления для GMail Rest API.Я не использовал его, но документация здесь

Старый ответ

Для этого есть два варианта:

  • Используйте GMail Inbox Feed - это фид атомов, к которому вы можете получить доступ с помощью OAuth.Он показывает только непрочитанные элементы в папке входящих сообщений, поэтому он очень ограничен.
  • Используйте расширения GMail IMAP и подключайтесь с использованием IMAP и OAuth.Здесь у вас есть доступ ко всему почтовому ящику пользователя.

Оба эти метода имеют ограничение, основанное на использовании push, а не push.Я подозреваю (хотя я и не пробовал), что толчок IMAP не будет работать, и в любом случае я не буду доверять ему на мобильном устройстве.

...