Android如何检测新邮件、推文等通知机制详解

6次阅读
没有评论

问题描述

Android设备是如何检测到新邮件、WhatsApp消息或推文的通知?这些通知是如何发送给用户的?是Android系统还是应用程序负责处理这一过程?具体发生了哪些底层操作?

解决方案

方案1

关键点

  • Android设备与Google服务器保持持续的轻量级连接。
  • 通知由应用开发者服务器(如Twitter、Facebook、Gmail等)发送至Google服务器。
  • Android设备接收到通知后下载并显示。

详细步骤

  1. 建立持续连接
  2. Android设备通过Google Play服务与Google服务器保持持续的轻量级连接。这种连接非常节省数据和电量。

  3. 接收通知

  4. 当Google服务器接收到新邮件、WhatsApp消息或推文等事件时,会将这些通知发送给Android设备。
  5. Android设备接收到通知后,会下载并解析这些数据,然后将其打包成意图(Intent)广播,最终被相应的应用程序接收。

  6. 保持连接

  7. 即使在设备处于“闲置”模式下,TCP连接仍然保持打开状态,这意味着应用程序不需要一直运行在后台以检查通知。

方案2

关键点

  • 使用Google Cloud Messaging (GCM) 服务进行消息推送。
  • 应用程序注册至GCM服务器,而目标服务(如Gmail、Google+等)也注册至同一服务器。
  • GCM服务器作为中介,根据事件类型向注册的应用程序发送通知。

详细步骤

  1. 注册服务
  2. 应用程序在设备启动时注册至GCM服务器,并告知其注册目的。
  3. 目标服务(如Gmail、Google+等)也注册至GCM服务器。

  4. 消息推送

  5. 当目标服务有新事件时,GCM服务器会向注册的应用程序发送通知。
  6. 注册的应用程序接收到通知后,会被唤醒并处理新的消息。

  7. 节省资源

  8. 由于只由Google服务应用维持单个网络连接,而不是每个应用程序都维持自己的连接,因此可以节省数据和电量资源。

综上所述,Android设备通过Google Cloud Messaging (GCM) 服务与应用开发者服务器之间的消息推送机制,实现了新邮件、WhatsApp消息或推文等通知的实时提醒。这一机制不仅节省了数据和电量资源,还简化了应用程序的开发和维护工作。

正文完