Google Talk e Play Store richiedono ancora la sincronizzazione in background su Ice Cream Sandwich?


8

Quando ho usato le versioni di Android fino alla 2.x, alcune app come Google Talk e Android Market (ora Play Store) hanno richiesto l'attivazione della sincronizzazione in background tramite Impostazioni -> Account e sincronizzazione -> Dati in background . Di recente ho eseguito l'upgrade a Ice Cream Sandwich e ho notato che sia Google Talk che Play Store ora funzionano anche quando l'impostazione è disattivata.

Tali app richiedono ancora la sincronizzazione in background, possibilmente in un modo che non è più controllato da un'impostazione accessibile all'utente?

Risposte:


8

Sì, i dati di background sono sempre abilitati da Ice Cream Sandwich. Vedi la nota nella documentazione per android.net.ConnectivityManager.getBackgroundDataSetting():

A partire da ICE_CREAM_SANDWICH, la disponibilità dei dati di background dipende da diversi fattori combinati e questo metodo restituirà sempre true. Invece, quando i dati in background non sono disponibili, getActiveNetworkInfo()ora appariranno disconnessi.


Vending (il nome interno per Android Market, infatti com.android.vending) utilizza C2DMper ricevere richieste di installazione (dai un'occhiata al suo manifest di applicazione; anche su ICS, ha ancora ricevitori c2dm). AFAIK, C2DM funziona solo quando sono disponibili dati in background.

Qualche tempo fa, ho letto un post sul blog da qualche parte (che purtroppo non sto trovando in questo momento) che spiega come funzionava l'Android Market (il post da prima che fosse rinominato). IIRC, anche quando hai chiesto di installare un'applicazione direttamente sul tuo dispositivo (anziché indirettamente tramite il sito Web https://market.android.com/ ), è bastato inviare una richiesta ai server di Google, che poi ha inviato il dispositivo (tramite C2DM) una richiesta di installazione. Questo spiega perché Vending ha bisogno di dati di background: non può fare nulla senza essere in grado di ricevere richieste tramite C2DM dai server di Google.

Non so di Google Talk, ma da quello che ho sentito, ha usato C2DM da prima che C2DM fosse disponibile al pubblico. Ancora una volta, questo spiegherebbe perché ha bisogno di dati di background per funzionare.

AFAIK, la sincronizzazione in background è completamente separata dai dati in background, a parte il fatto che ovviamente non può sincronizzarsi in background se i dati in background sono disabilitati e il fatto che è possibile modificarli dalla schermata di sincronizzazione nell'applicazione delle impostazioni.


0

Ho un Samsung Galaxy Nexus con ICS 4.0.4. Quando accedo alla schermata Impostazioni-> Account e sincronizzazione e seleziono un account (in particolare l'account che utilizzo per Google Talk e Google Play Store), queste due app non sono presenti nell'elenco di app che possono essere abilitate / disabilitate in background sincronizzazione. Se queste app eseguono la sincronizzazione in background, non è più un'opzione impostabile dall'utente per disabilitarla.


Quei due non erano mai stati lì.
RR
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.