关于android的传入邮件通知

时间:2011-07-27 10:40:20

标签: android api email notifications

我正在寻找一种方法,以编程方式拦截Android上的传入电子邮件,无论其来源(gmail,交换,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());

......还有this answer。非gmail帐户可以使用这样的东西吗?我知道理论上我可以向用户询问用户名和密码并通过imap连接,但我不能从业务方面做到这一点。

欢迎任何可能的解决方案,即Java SDK,NDK,未记录的API或任何必要的手段。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:

Google发布了针对GMail Rest API的推送通知。我没有使用它,但文档是here

旧答案

有两种方法可以做到这一点:

  • 使用GMail Inbox Feed - 这是您可以使用OAuth访问的原子Feed。它只显示收件箱中未读的项目,因此非常有限。
  • 使用GMail IMAP extensions,然后使用IMAP和OAuth进行连接。在这里,您可以访问整个用户邮箱。

这两种方法都有基于拉力的限制而不是基于推力。我怀疑(即使我没有尝试过)IMAP推送不起作用,无论如何我不会相信它在移动设备上。