Android手机上的Gmail同步

时间:2010-03-25 23:01:57

标签: android gmail

Android具有Gmail推送功能,这意味着新邮件无需检查或刷新邮箱即可到达邮箱。

据我了解,同步过程如下:
1)用户打开同步
2)将有一个警报消息,此设备的Gmail DB中的同步标志将为True 3)当新电子邮件到达Gmail服务器时,它将检查设备是否同步值,如果为真,则发送电子邮件

好的,在这里,我不太清楚它究竟是如何工作的,
对于WiFi和手机信号连接,手机是否打开TCP套接字并继续收听Gmail服务器,或者当新电子邮件到达服务器并向手机发送短信提醒时,手机会打开数据通道拿电子邮件?这两种连接方式有不同的方法吗?

第二个问题是哪种方法是优先考虑的方法?
假设您正在接收数据(电子邮件),并且电话突然连接到无线网络,数据套接字是否会关闭然后重新打开WiFi?运营商的数据通道和WiFi翻转时的情况是什么?

我还下载了源代码,任何人都知道我应该考虑哪一部分来解决我的问题?我在文件夹“package”中找到了一个名为“email”的文件夹,我应该查看它的代码吗?

我知道我在这里问了一些问题,如果你知道其中任何一个的答案,我将不胜感激,非常感谢!

1 个答案:

答案 0 :(得分:6)

这在技术上不是Android的一部分,而是Google在Android上运行的专有应用程序套件。它也没有真正在Gmail中实现 - 谷歌应用程序与谷歌的服务器(建立在gtalk数据协议上,但主要是出于历史原因)共同推送数据与他们共享。当新邮件可用时,推送连接用于向设备发送“痒痒”以说明邮件中的内容已发生变化,然后在设备上将其发送到gmail应用程序,该应用程序将打开与其服务器的新套接字连接使本地状态与发生的任何变化同步。同样的机制用于联系人和日历同步,以及煽动从市场下载的内容。

这种方式的工作方式是实现细节,但目前通过保持打开的套接字连接来完成。在无法进行语音和数据的网络中,发生语音呼叫时会断开连接。在wifi和cell之间切换时,连接被丢弃并重新启动。

请注意,以这种方式执行推送通知对设备来说是非常耗费资源的,这就是为什么经过精心设计以允许一个此类实例支持所有Google服务的原因。