Как определить, что я получил электронную почту / почту на моем устройстве Android? - PullRequest
1 голос
/ 01 сентября 2011

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

В основном я хотел бы, чтобы мое приложение читало уведомление по электронной почте, когда я его получаю.

Не могли бы вы сказать мне, если есть способ сделать это?

1 Ответ

0 голосов
/ 01 сентября 2011

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

contentResolver.registerContentObserver(Uri.parse("content://gmail-ls"), true, gmailObserver); 

gmailObserver - это ваш собственный объект ContentObserver.

ContentObserver.onChange будет вызываться каждый раз, когда что-тоизменения в Gmail.Здесь вы получите все разговоры, например, так:

Cursor conversations = _contentResolver.query(Uri.parse("content://gmail-ls/conversations/" + YourEmailAddress), null, null, null, null); 

И фактические сообщения будут:

Cursor messages = _contentResolver.query(Uri.parse("content://gmail-ls/conversations/" + YourEmailAddress + "/" + String.valueOf(conversationId) + "/messages"), null, null, null, null); 
...