2010-12-16 7 views
5

Tengo un adaptador de sincronización para mi base de datos y en ciertos momentos del uso de la aplicación, necesita sincronizar la base de datos ahora. Me gustaría disparar el adaptador de sincronización como si su sincronización tiempo apareciera y luego restablecer el tiempo de sincronización (es decir, 4 horas de este evento 'sincronizar ahora').Cómo codificar una operación "sincronizar ahora" en Android?

Respuesta

4

Creo (no probado) una mejor solución ya está definido en el ContentResolver

ContentResolver.requestSync(account, authority, extras); 

por lo que se podría hacer lo siguiente:.

AccountManager am = AccountManager.get(context); 
Account account = null; 
am.getAccountsByType(mytype); 
for(Account a : accounts) { 
    if (am.getUserData(account, key)) { 
     account = a; 
     break; 
    } 
} 
Bundle extras = new Bundle(); 
extras.putString(EXTRA_mystuff, myvalue); 
ContentResolver.requestSync(account, authority, extras) 
+1

puede usted por favor dígame ¿cuál es la "autoridad" de documentación dice que es "el proveedor cuyo comportamiento está siendo controlado? ".... ¿Qué significa esto? – blackfyre

+0

@ user1204089 es la' contentAuthority' que yo u especificado en el recurso de su ''. Además, puede suministrar 'null' para' account' para todos ellos – rndstr

Cuestiones relacionadas