我的应用程序使用 accountmanager 同步数据。不使用身份验证。有时(并非总是)当我第一次运行应用程序时,第一次同步需要很长时间。
在这里我如何添加帐户
private void ensureSyncAccount() {
final AccountManager accountManager = AccountManager.get(this);
String authority = getString(R.string.acc_authority);
String accountType = getString(R.string.acc_name);
String accountName = getString(R.string.app_name);
Account[] existingAccs = accountManager.getAccountsByType(accountType);
if (existingAccs.length > 0) {
return;
}
Account account = new Account(accountName, accountType);
if (accountManager.addAccountExplicitly(account, null, null)) {
ContentResolver.setIsSyncable(account, authority, 1);
ContentResolver.setSyncAutomatically(account, authority, true);
ContentResolver.requestSync(account, authority, new Bundle());
ContentResolver.addPeriodicSync(account, authority, new Bundle(), 60*10);
}
else {
Log.e(LOG_TAG, "Unable to add account");
}
}
一段时间后,同步开始正常工作。同步死锁的原因是什么?