при программном обновлении контактной информации также следует запустить синхронизацию c, чтобы можно было синхронизировать все адаптеры.
Это можно сделать следующим образом: -
private void requestSync()
{
AccountManager am = AccountManager.get(context);
Account[] accounts = am.getAccounts();
for (Account account : accounts)
{
int isSyncable = ContentResolver.getIsSyncable(account, ContactsContract.AUTHORITY);
if (isSyncable > 0)
{
Bundle extras = new Bundle();
extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
ContentResolver.requestSync(accounts[0], ContactsContract.AUTHORITY, extras);
}
}
}
Этот код получит учетные записи, которые добавляются в приложение контакта устройства, например «WhatsApp» и «Google», и запросит синхронизацию.
Разрешения должны быть добавлены как
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />