Benötigen Google Talk und Play Store noch eine Hintergrundsynchronisierung für Ice Cream Sandwich?

8

Wenn ich Android-Versionen bis 2.x verwendete, mussten für einige Apps wie Google Talk und Android Market (jetzt Play Store) die Hintergrundsynchronisierung über Einstellungen -> Konto und Synchronisierung -> Hintergrunddaten aktiviert werden . Ich habe kürzlich ein Upgrade auf Ice Cream Sandwich durchgeführt und festgestellt, dass sowohl Google Talk als auch Play Store jetzt auch funktionieren, wenn diese Einstellung deaktiviert ist.

Benötigen solche Apps immer noch eine Hintergrundsynchronisation, möglicherweise auf eine Weise, die nicht mehr von einer vom Benutzer zugänglichen Einstellung gesteuert wird?

Paolo Amoroso
quelle

Antworten:

8

Ja, Hintergrunddaten sind seit Ice Cream Sandwich immer aktiviert. Beachten Sie den Hinweis in der Dokumentation für android.net.ConnectivityManager.getBackgroundDataSetting():

Ab ICE_CREAM_SANDWICHsofort hängt die Verfügbarkeit von Hintergrunddaten von mehreren kombinierten Faktoren ab, und diese Methode gibt immer true zurück. Wenn Hintergrunddaten nicht verfügbar sind, getActiveNetworkInfo()werden sie jetzt getrennt angezeigt.


Vending (der interne Name für den Android Market com.android.vending) wird C2DMzum Empfangen von Installationsanforderungen verwendet (siehe Anwendungsmanifest; selbst auf ICS gibt es noch c2dm-Empfänger). AFAIK, C2DM funktioniert nur, wenn Hintergrunddaten verfügbar sind.

Vor einiger Zeit habe ich irgendwo einen Blog-Beitrag gelesen (den ich derzeit leider nicht finde), in dem erklärt wird, wie der Android Market (der Beitrag stammt aus der Zeit vor seiner Umbenennung) funktioniert. Selbst wenn Sie eine Anwendung direkt auf Ihrem Gerät installieren wollten (anstatt indirekt über die Website https://market.android.com/ ), hat das IIRC lediglich eine Anfrage an die Google-Server gesendet, die dann gesendet wurde Ihr Gerät (über C2DM) eine Installationsanforderung. Dies erklärt, warum Vending Hintergrunddaten benötigt - es kann nichts tun, ohne Anfragen über C2DM von den Google-Servern empfangen zu können.

Ich weiß nichts über Google Talk, aber nach dem, was ich gehört habe, wurde C2DM verwendet, bevor C2DM für die Öffentlichkeit verfügbar war. Dies würde wiederum erklären, warum Hintergrunddaten benötigt werden, um zu funktionieren.

AFAIK, die Hintergrundsynchronisierung ist vollständig von den Hintergrunddaten getrennt, abgesehen von der Tatsache, dass sie offensichtlich nicht im Hintergrund synchronisiert werden kann, wenn die Hintergrunddaten deaktiviert sind, und der Tatsache, dass Sie sie über den Synchronisierungsbildschirm in der Einstellungsanwendung ändern können.

CesarB
quelle
0

Ich habe ein Samsung Galaxy Nexus mit ICS 4.0.4. Wenn ich zum Bildschirm Einstellungen-> Konten und Synchronisierung navigiere und ein Konto auswähle (insbesondere das Konto, das ich für Google Talk und den Google Play Store verwende), sind diese beiden Apps nicht in der Liste der Apps enthalten, die für den Hintergrund aktiviert / deaktiviert werden können Synchronisation. Wenn diese Apps eine Hintergrundsynchronisierung durchführen, kann der Benutzer sie nicht mehr deaktivieren.

JadeMason
quelle
Diese beiden waren nie da.
RR