Android SyncAdapter автоматически инициализирует синхронизацию
у меня естьSyncAdapter
для моего приложения иAccountManager
добавить мои учетные записи приложений в диспетчер учетных записей Android. Мой код для добавления учетной записи в диспетчер учетных записей выглядит следующим образом:
Bundle data = new Bundle(5);
data.putString(_PEOPLE_ID, people_id);
data.putString(_FIRST_NAME, first_name);
data.putString(_LAST_NAME, last_name);
data.putString(_PLAN, plan);
data.putString(_BIRTHDAY, birthday);
Account account = new Account(username, _ACCOUNT_TYPE);
try {
boolean created;
created = _account_manager.addAccountExplicitly(account,
_cryptography.encrypt(_SEED, password), data);
response.accountCreated(created);
_account_manager.setAuthToken(account, _TOKEN_TYPE, session_token);
_model.updateActiveAccount(people_id, username, password);
SharedPreferences.Editor settings = _settings.edit();
settings.putString(_ACCOUNT_TYPE, account.name);
settings.putString(_TOKEN_TYPE, session_token);
settings.commit();
// Tells the content provider that it can sync this account
ContentResolver.setIsSyncable(account, AUTHORITY, 1);
final Bundle extras = new Bundle(1);
extras.putBoolean(SYNC_EXTRAS_INITIALIZE, true);
ContentResolver.addPeriodicSync(account, AUTHORITY, extras, 900);
} catch (Exception e) {
Ln.e(e.getCause());
}
Я могу успешно добавить учетную запись в Диспетчер учетных записей через Настройки, но я должен вручную включить синхронизацию для учетной записи в Настройках, даже если в эмуляторе включены настройки фоновых данных и автоматической синхронизации. Если я включаю синхронизацию вручную, то синхронизация выполняется нормально, она просто не запускается по умолчанию.