Требуется ли в Google Talk and Play Store синхронизация фона в Ice Cream Sandwich?

8

Когда я использовал версии Android до 2.x, для некоторых приложений, таких как Google Talk и Android Market (теперь Play Store), требовалась активация фоновой синхронизации через « Настройки» -> « Учетная запись и синхронизация» -> « Фоновые данные» . Недавно я обновился до Ice Cream Sandwich и заметил, что и Google Talk, и Play Store теперь работают и при отключенной настройке.

Требуется ли для таких приложений синхронизация в фоновом режиме, возможно, способом, который больше не контролируется пользовательскими настройками?

Паоло Аморосо
источник

Ответы:

8

Да, фоновые данные всегда включены с Ice Cream Sandwich. Смотрите примечание в документации для android.net.ConnectivityManager.getBackgroundDataSetting():

На данный момент ICE_CREAM_SANDWICHдоступность фоновых данных зависит от нескольких комбинированных факторов, и этот метод всегда возвращает true. Вместо этого, когда фоновые данные недоступны, getActiveNetworkInfo()теперь будут отображаться отключенными.


Vending (собственно, внутреннее название Android Market com.android.vending) использует C2DMдля получения запросов на установку (взгляните на манифест приложения; даже в ICS у него все еще есть приемники c2dm). AFAIK, C2DM работает только при наличии фоновых данных.

Некоторое время назад я где-то читал пост в блоге (который, к сожалению, сейчас не нахожу), объясняющий, как работает Android Market (пост был до того, как он был переименован). IIRC, даже когда вы просили установить приложение непосредственно на вашем устройстве (а не косвенно через веб-сайт https://market.android.com/ ), все, что он делал, это отправлял запрос на серверы Google, который затем отправлял ваше устройство (через C2DM) запрос на установку. Это объясняет, почему Vending нужны фоновые данные - он ничего не может сделать, не имея возможности получать запросы через C2DM с серверов Google.

Я не знаю о Google Talk, но из того, что я слышал, он использовал C2DM еще до того, как C2DM стал общедоступным. Опять же, это объяснило бы, почему для работы нужны фоновые данные.

AFAIK, фоновая синхронизация полностью отделена от фоновых данных, за исключением того факта, что очевидно, что он не может синхронизироваться в фоновом режиме, если фоновые данные отключены, и того факта, что вы можете изменить их из экрана синхронизации в приложении настроек.

CesarB
источник
0

У меня Samsung Galaxy Nexus под управлением ICS 4.0.4. Когда я перехожу к экрану «Настройки-> Аккаунты и синхронизация» и выбираю учетную запись (в частности, учетную запись, которую я использую для Google Talk и магазина Google Play), эти два приложения отсутствуют в списке приложений, которые можно включить / отключить для фона. синхронизации. Если эти приложения выполняют фоновую синхронизацию, пользователь больше не может их отключать.

JadeMason
источник
Эти двое никогда не были там.
RR