Sim, os dados em segundo plano estão sempre ativados desde o Ice Cream Sandwich. Veja a nota na documentação para android.net.ConnectivityManager.getBackgroundDataSetting()
:
A partir de ICE_CREAM_SANDWICH
, a disponibilidade de dados em segundo plano depende de vários fatores combinados, e esse método sempre retornará verdadeiro. Em vez disso, quando os dados em segundo plano não estiverem disponíveis, getActiveNetworkInfo()
agora aparecerão desconectados.
A venda (o nome interno do Android Market, na verdade com.android.vending
) C2DM
costuma receber solicitações de instalação (veja o manifesto do aplicativo; mesmo no ICS, ele ainda possui receptores c2dm). AFAIK, C2DM funciona apenas quando os dados em segundo plano estão disponíveis.
Há algum tempo, li uma postagem no blog em algum lugar (o que, infelizmente, não estou encontrando no momento), explicando como o Android Market (a publicação era de antes de ser renomeada) funcionava. IIRC, mesmo quando você solicitou a instalação de um aplicativo diretamente no seu dispositivo (em vez de indiretamente pelo site https://market.android.com/ ), tudo o que fez foi enviar uma solicitação aos servidores do Google, que então enviaram seu dispositivo (via C2DM) uma solicitação de instalação. Isso explica por que o Vending precisa de dados em segundo plano - ele não pode fazer nada sem poder receber solicitações via C2DM dos servidores do Google.
Não conheço o Google Talk, mas pelo que ouvi, ele usou o C2DM desde antes de o C2DM estar disponível ao público. Novamente, isso explicaria por que ele precisa de dados de segundo plano para funcionar.
AFAIK, a sincronização em segundo plano é completamente separada dos dados em segundo plano, exceto o fato de que obviamente não é possível sincronizar em segundo plano se os dados em segundo plano estiverem desativados e o fato de que você pode alterá-lo na tela de sincronização no aplicativo de configurações.