3
Code for Sync Accounts Programmatically:
以編程方式進行同步帳戶的代碼:
Sync once:
同步:
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 on time interval automatically:
自動定時同步:
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);
}
If you want to sync accounts once, call first method and if you want to sync on some time of interval you have to call second method and pass seconds (Like 10 Seconds) as arguments in it.
如果您想要同步帳戶一次,請調用first方法,如果您想在一定的時間間隔內同步,您必須調用second方法,並在其中傳遞秒(比如10秒)作為參數。
Done
完成