Necesito saber cómo activar y desactivar la sincronización automática mediante programación.Android cómo habilitar/deshabilitar la sincronización automática programáticamente
Respuesta
Creo que lo que quiere es la siguiente:
ContentResolver.setSyncAutomatically(account, authority, true/false);
creo que busca
ContentResolver.setMasterSyncAutomatically(<boolean>);
Qué documentos dice:
establece la configuración de sincronización automática maestro eso se aplica a todos los proveedores y cuentas. Si esto es falso, se ignorará la configuración de sincronización automática por proveedor .
Este método requiere que la persona que llama tenga el permiso WRITE_SYNC_SETTINGS.
Así que no se olvide de añadir el permiso en manifest.xml:
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
Esto debería desactivar/activar todas las sincronizaciones.
@Sajmon: He actualizado esta, creo que es una respuesta muy útil (estoy usando esto en mi proyecto personal).
+1 He editado y actualizado su respuesta. Ahora creo que esa cosa es más clara. – Sajmon
¿Es posible hacerlo desde ADB? –
Ben es correcto.
Es necesario utilizar
ContentResolver.setSyncAutomatically(account, authority, true/false);
también tendrá que añadir permisos "WRITE_SYNC_SETTINGS"
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
¿Hay alguna manera de evitar que el usuario deshabilite la sincronización a través de la pantalla de configuración, para que la sincronización siempre funcione? – KJEjava48
Código de Cuentas de sincronización programación:
sincronización una vez:
public static void syncAllAccounts(Context contextAct) throws Exception {
AccountManager manager = AccountManager.get(contextAct);
Account[] accounts = manager.getAccountsByType("com.google");
String accountName = "";
String accountType = "";
for (Account account : accounts) {
accountName = account.name;
accountType = account.type;
break;
}
Account a = new Account(accountName, accountType);
ContentResolver.requestSync(a, "com.android.calendar", new Bundle());
}
Sync en el intervalo de tiempo de forma automática:
public static void syncAllAccountsPeriodically(Context contextAct, long seconds) throws Exception {
AccountManager manager = AccountManager.get(contextAct);
Account[] accounts = manager.getAccountsByType("com.google");
String accountName = "";
String accountType = "";
for (Account account : accounts) {
accountName = account.name;
accountType = account.type;
break;
}
Account a = new Account(accountName, accountType);
ContentResolver.addPeriodicSync(a, "com.android.calendar", new Bundle(), seconds*1000);
}
Si desea sincronización cuentas vez, llaman primera método y si quieres sincronización en un tiempo de intervalo tiene que llamar al segundo método y pasar segundos (como 10 segundos) como argumentos en él.
Hecho
- 1. configuración de sincronización general casilla de verificación "sincronización automática" programáticamente
- 2. Cómo programar programáticamente la corrección automática en iphone sdk?
- 3. Android SyncAdapter Inicializar automáticamente la sincronización
- 4. Detectar correos electrónicos de respuesta automática programáticamente
- 5. Detener la sincronización de Android SyncAdapter
- 6. ¿Cómo bloquear programáticamente la pantalla en Android?
- 7. ¿Cómo habilitar la sincronización de la cuenta personalizada en Android?
- 8. Sincronización automática Vista de clase de Visual Studio
- 9. Sincronización automática en archivos de copia Dreamweaver CS5
- 10. android sqlite sincronización bidireccional sqlite
- 11. Evento de sincronización agregado programáticamente con el calendario de Google en Android
- 12. Conexión WiFi Android programáticamente
- 13. Cambiar la zona horaria en Android programáticamente
- 14. Android tome la captura de pantalla programáticamente
- 15. Android sincronización de datos entre los usuarios
- 16. ¿Adaptador de sincronización propio para Android?
- 17. android encender wifi programáticamente
- 18. Supresión de SMS de Android programáticamente
- 19. Cómo rechazar una llamada programáticamente en android
- 20. ¿Cómo crear un menú programáticamente en Android?
- 21. Android: ¿cómo centrar un botón programáticamente creado?
- 22. Android - Cómo establecer programáticamente color de botón
- 23. Activar programáticamente la pantalla en android
- 24. Cómo habilitar/deshabilitar bluetooth programáticamente en android
- 25. Cómo configurar "android: scrollbars = vertical" programáticamente?
- 26. ¿Cómo cerrar un móvil Android programáticamente?
- 27. ¿Cómo finalizar la aplicación android NDK (actividad nativa) programáticamente?
- 28. cómo puedo configurar el icono de la aplicación programáticamente android
- 29. Cómo deshabilitar la conexión GSM en Android programáticamente
- 30. ¿Cómo puedo obtener la ubicación actual en Android programáticamente?
posible duplicado de [activar/desactivar la sincronización automática mediante programación!] (Http: // stackoverflow.com/questions/5138026/enable-disable-auto-sync-programmatically) –
que uno está [cerrado] y de la misma persona – ariefbayu