Да, фоновые данные всегда включены с 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, фоновая синхронизация полностью отделена от фоновых данных, за исключением того факта, что очевидно, что он не может синхронизироваться в фоновом режиме, если фоновые данные отключены, и того факта, что вы можете изменить их из экрана синхронизации в приложении настроек.