android - 使用 AccountManager addAccountExplicitly 第一次同步需要很长时间

标签 android android-contentresolver accountmanager android-syncadapter

我使用 AccountManager addAccountExplicitly() 将帐户添加到 AccountManager。 然后我打电话

ContentResolver.setSyncAutomatically(account, ContactsContract.AUTHORITY, true);

这样做之后,当查看设备的“帐户和同步”屏幕时,我看到了我的帐户,但是当我点击进入时,我看到“同步联系人”复选框没有出现。 它可能需要几分钟才能出现...

我发现如果我听到正在添加的帐户,并在延迟(2 秒)后调用:

ContentResolver.requestSync(account, ContactsContract.AUTHORITY, new Bundle());

正在同步。

1.为什么账户同步需要时间? 2.这是立即同步帐户的正确方法吗? (这会一直有效吗?)

最佳答案

我有一个类似的问题,这个答案中的编辑部分帮助了我。 First time sync loops indefinitely

在第一次同步时,调用 cancelSync 并再次尝试同步。

ContentResolver.cancelSync(account, authority);

关于android - 使用 AccountManager addAccountExplicitly 第一次同步需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102907/

相关文章:

android - 不能使用 contentResolver

android - 尝试添加帐户时出现 SecurityException

android - 通过 Android 的 AccountManager 类进行 Twitter 身份验证

android - Flutter 从 1.5 升级到 1.7.4 后 APK 大小翻倍?

android - 使用 Apache POI 在 Android 中读取 MS Excel 2010 文件

java - 无显示 - 使用 SimpleAdapter 的 ListView

android - ContentResolver.openAssetFileDescriptor() 在 Android 12 中需要很长时间

android - 我的 Android ContentProvider 找不到 ContentResolver

android - 通过 Android 的 AccountManager 类进行 Twitter 身份验证

android - 在 Android Espresso UI 测试中从 Facebook 注销