Ho bisogno di sapere come attivare e disattivare la sincronizzazione automatica a livello di programmazione.Android come abilitare/disabilitare la sincronizzazione automatica programmaticamente
risposta
Penso che ciò che si vuole è la seguente:
ContentResolver.setSyncAutomatically(account, authority, true/false);
Penso che si sta cercando
ContentResolver.setMasterSyncAutomatically(<boolean>);
Cosa docs dice:
Imposta la sincronizzazione automatica maestro vale per tutti i provider e account. Se questo è falso, l'impostazione di sincronizzazione automatica per-provider viene ignorata.
Questo metodo richiede che il chiamante abbia il permesso WRITE_SYNC_SETTINGS.
Quindi non dimenticare di aggiungere il permesso in manifest.xml:
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
Questo dovrebbe disattivare/attivare tutte le sincronizzazioni.
@Sajmon: ho aggiornato questa risposta molto utile (sto usando questo nel mio progetto personale).
+1 ho modificato e aggiornato la tua risposta. Ora penso che la cosa sia più chiara. – Sajmon
E 'possibile farlo da ADB ?? –
Ben è corretto.
è necessario utilizzare
ContentResolver.setSyncAutomatically(account, authority, true/false);
si dovrà anche aggiungere dei permessi "WRITE_SYNC_SETTINGS"
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
C'è un modo per impedire all'utente di disabilitare la schermata delle impostazioni di sincronizzazione, in modo che la sincronizzazione funzioni sempre – KJEjava48
Codice in Sync Conti di programmazione:
sincronizzazione una volta:
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 sul intervallo di tempo automaticamente:
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);
}
Se si vuole sincronizzazione conti volta, chiamano primo metodo e se si desidera sincronizzazione su po 'di tempo di intervallo devi chiamare il secondo metodo e passare secondi (come 10 secondi) come argomenti in esso.
Fatto
- 1. Invia email automatica programmaticamente
- 2. Android: Cancellare la cache programmaticamente
- 3. Sincronizzazione automatica tra Github e il forno
- 4. SyncAdapter Android Inizializza automaticamente sincronizzazione
- 5. Android show tastiera programmaticamente
- 6. Android Layout peso programmaticamente
- 7. Android: Ripple Background Programmaticamente
- 8. Disattivare la rotazione automatica dello schermo - Android
- 9. casella di controllo generale "sincronizzazione automatica" casella di controllo
- 10. Android set forma XML come disegnabile programmaticamente
- 11. Come abilitare la sincronizzazione dell'account personalizzato in Android?
- 12. Android Studio come eseguire la sincronizzazione gradle manualmente?
- 13. Come rifiutare una chiamata programmaticamente in Android
- 14. AngularJS Sincronizzazione automatica dei dati tra server e client
- 15. Esistono servizi di sincronizzazione automatica SVN-> GIT?
- 16. Ripristino di fabbrica Android Programmaticamente
- 17. Invia email programmaticamente su Android
- 18. Installazione automatica Android
- 19. Come disabilitare la connessione automatica WIFI in Android
- 20. Come possiamo disattivare la luminosità automatica in Android?
- 21. Come rimuovere la sottolineatura automatica di Android sottolineando in EditText?
- 22. Disinstallazione automatica dell'applicazione Android
- 23. Risorse Android scala automatica
- 24. Come velocizzare la perforforazione automatica?
- 25. Risorse scheda di sincronizzazione Android
- 26. sqlite android sqlite sincronizzazione sqlite
- 27. Riproduzione automatica di video come Facebook, Android
- 28. imposta programmaticamente la proprietà "Layout to right of" in Android
- 29. Sincronizzazione dei server IIS in aws ec2 con best practice per la scalabilità automatica
possibile duplicato [attivare/disattivare la sincronizzazione automatica di codice!] (Http: // StackOverflow.it/questions/5138026/enable-disable-auto-sync-programmatic) –
quello è [chiuso] e dalla stessa persona – ariefbayu