O Google Talk e a Play Store ainda exigem sincronização em segundo plano no Ice Cream Sandwich?

8

Quando usei versões do Android até 2.x, alguns aplicativos como o Google Talk e o Android Market (agora Play Store) exigiam que a sincronização em segundo plano fosse ativada em Configurações -> Conta e sincronização -> Dados em segundo plano . Recentemente, atualizei para o Ice Cream Sandwich e notei que o Google Talk e a Play Store agora também funcionam quando essa configuração está desativada.

Esses aplicativos ainda exigem sincronização em segundo plano, possivelmente de uma maneira que não é mais controlada por uma configuração acessível pelo usuário?

Paolo Amoroso
fonte

Respostas:

8

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) C2DMcostuma 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.

CesarB
fonte
0

Eu tenho um Samsung Galaxy Nexus executando o ICS 4.0.4. Quando eu navego para a tela Configurações-> Contas e sincronização e seleciono uma conta (especificamente a conta que eu uso para o Google Talk e a loja Google Play), esses dois aplicativos não estão presentes na lista de aplicativos que podem ser ativados / desativados em segundo plano sincronização. Se esses aplicativos estiverem executando a sincronização em segundo plano, não será mais uma opção configurável pelo usuário para desativá-lo.

JadeMason
fonte
Aqueles dois nunca estavam lá.
RR