java - 如何在不频繁轮询的情况下了解 GMail 上的传入电子邮件?

标签 java android oauth gmail gmail-imap

如果我正在开发 Android 应用程序,获得有关传入电子邮件的近乎实时通知的最可行方法是什么?是否有类似推送的机制,或者我可以长时间保持我的 IMAP 连接,还是使用 IDLE 命令?
考虑到用户已被授权通过 OAuth 使用 GMail 服务,我不想疯狂地轮询 IMAP 服务器。

更新:

  • 我没有使用手机中配置的 Google 帐户。还有另一个使用 OAuth 设置的帐户。
  • 我正在使用 Apache Commons Net在我的应用程序中连接到 IMAP/SMTP。它是 IMAP 的基本库,但我或许可以修改它以添加 IMAP 命令/扩展。

最佳答案

您可以注册一个ContentObserver使用 GMail,只要 GMail 发生变化,就会调用观察者。

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

覆盖 ContentObserver 中的 onChange 以在 GMail 中的某些内容发生变化时执行操作。

关于java - 如何在不频繁轮询的情况下了解 GMail 上的传入电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966383/

相关文章:

java - 为 CROS 添加 Access-Control-Allow-Origin

java - SpringBoot 应用程序在 WLS12c/Java8/RHEL fedora7.5 中失败,无法读取架构文档 http ://www. springframework.org/schema/beans/spring-beans.xsd

android - Ionic,在 iOS 上将按钮保持在键盘上方

api - 在 OAuth 2 中有授权码时为什么需要访问 token ?

java - JPA:使用附加属性映射多对多关系

java - 将组件设置在页面中心

android - 如何在 Android 中设置提醒?

java - 如何制作一个列表,每次在 Android Studio 中输入号码并按“提交”时都会添加电话号码?

android - 您已经授权您的应用程序

oauth - VK 认证 : Security Error