В Android, когда пользователь выбирает один контакт с помощью средства выбора контактов, вы получаете только поле CONTACT_ID.Но для обновления некоторых контактных данных вам необходимо отредактировать необработанные контактные данные.Для этого вам нужно знать RAW_CONTACT_ID.Пока это правильно?
Итак, как вы получаете RAW_CONTACT_ID, который вам нужен для обновления данных, когда у вас есть только CONTACT_ID?Вот так ...?
String[] projection = new String[] { ContactsContract.RawContacts._ID };
String where = ContactsContract.RawContacts.CONTACT_ID + " = ?";
String[] selection = new String[] { String.valueOf(contactId) };
Cursor c = getContentResolver().query(ContactsContract.RawContacts.CONTENT_URI, projection, where, selection, null);
Но так вы получите все идентификаторы RAW_CONTACT_ID, принадлежащие выбранному пользователю, верно?Какой из них является необработанным контактом, который я должен обновить?
Если вы хотите сказать: «Это зависит от вас»: мне все равно.Я просто хочу поместить свои данные в любое место , в любой необработанный контакт, который может содержать данные.