Answers:
是的,自“冰淇淋三明治”以来始终启用背景数据。请参阅文档中的注释android.net.ConnectivityManager.getBackgroundDataSetting()
:
截至
ICE_CREAM_SANDWICH
,背景数据的可用性取决于几个综合因素,并且此方法将始终返回true。相反,当背景数据不可用时,getActiveNetworkInfo()
现在将显示为断开连接。
自动售货机(实际上是Android Market的内部名称com.android.vending
)用于C2DM
接收安装请求(查看其应用程序清单;即使在ICS上,它仍然具有c2dm接收器)。AFAIK,C2DM仅在背景数据可用时起作用。
前一段时间,我在某处(不幸的是现在找不到)上读了一篇博客文章,解释了Android Market(该文章来自重命名之前)的工作方式。IIRC,即使您要求直接在设备上安装应用程序(而不是通过https://market.android.com/网站间接安装),它所做的只是将请求发送到Google服务器,然后由该服务器发送您的设备(通过C2DM)安装请求。这解释了为什么自动售货需要后台数据-它不能执行任何操作,除非能够通过C2DM接收来自Google服务器的请求。
我不了解Google Talk,但是据我所知,自从C2DM公开发布以来,它就一直使用C2DM。同样,这将解释为什么它需要背景数据才能起作用。
AFAIK,背景同步与背景数据完全分开,除了以下事实:如果禁用了背景数据,则背景同步显然无法在后台同步;以及您可以在设置应用程序的同步屏幕中进行更改的事实。