¿Google Talk y Play Store todavía requieren sincronización de fondo en Ice Cream Sandwich?

8

Cuando utilicé versiones de Android hasta 2.x, algunas aplicaciones como Google Talk y Android Market (ahora Play Store) requerían que se activara la sincronización de fondo a través de Configuración -> Cuenta y sincronización -> Datos de fondo . Recientemente me actualicé a Ice Cream Sandwich y noté que tanto Google Talk como Play Store ahora también funcionan cuando esa configuración está desactivada.

¿Estas aplicaciones aún requieren sincronización en segundo plano, posiblemente de una manera que ya no esté controlada por una configuración accesible para el usuario?

Paolo Amoroso
fuente

Respuestas:

8

Sí, los datos de fondo siempre están habilitados desde Ice Cream Sandwich. Consulte la nota en la documentación para android.net.ConnectivityManager.getBackgroundDataSetting():

A partir de ICE_CREAM_SANDWICH, la disponibilidad de datos de fondo depende de varios factores combinados, y este método siempre devolverá verdadero. En cambio, cuando los datos de fondo no están disponibles, getActiveNetworkInfo()ahora aparecerán desconectados.


Vending (el nombre interno de Android Market, de hecho com.android.vending) utiliza C2DMpara recibir solicitudes de instalación (eche un vistazo a su manifiesto de aplicación; incluso en ICS, todavía tiene receptores c2dm). AFAIK, C2DM solo funciona cuando hay datos de fondo disponibles.

Hace algún tiempo, leí una publicación de blog en algún lugar (que desafortunadamente no estoy encontrando en este momento) explicando cómo funcionaba Android Market (la publicación era anterior a su cambio de nombre). IIRC, incluso cuando solicitó instalar una aplicación directamente en su dispositivo (en lugar de hacerlo indirectamente a través del sitio web https://market.android.com/ ), todo lo que hizo fue enviar una solicitud a los servidores de Google, que luego envió su dispositivo (a través de C2DM) una solicitud de instalación. Esto explica por qué Vending necesita datos de fondo: no puede hacer nada sin poder recibir solicitudes a través de C2DM desde los servidores de Google.

No sé sobre Google Talk, pero por lo que he escuchado, ha usado C2DM desde antes de que C2DM estuviera disponible para el público. Nuevamente, esto explicaría por qué necesita datos de fondo para funcionar.

AFAIK, la sincronización en segundo plano está completamente separada de los datos en segundo plano, aparte del hecho de que obviamente no puede sincronizarse en segundo plano si los datos en segundo plano están deshabilitados, y el hecho de que podría cambiarlo desde la pantalla de sincronización en la aplicación de configuración.

CesarB
fuente
0

Tengo un Samsung Galaxy Nexus con ICS 4.0.4. Cuando navego a la pantalla Configuración-> Cuentas y sincronización y selecciono una cuenta (específicamente la cuenta que uso para Google Talk y la tienda Google Play) esas dos aplicaciones no están presentes en la lista de aplicaciones que se pueden habilitar / deshabilitar para el fondo sincronización. Si estas aplicaciones realizan sincronización en segundo plano, ya no es una opción configurable por el usuario para deshabilitarla.

JadeMason
fuente
Esos dos nunca estuvieron allí.
RR