У меня есть этот кодОбновление контактов с несколькими телефонными номерами
public void updateContact (String contactId, String newNumber) {ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
String selectPhone = Data.CONTACT_ID + "=? AND " + Data.MIMETYPE + "='" +
Phone.CONTENT_ITEM_TYPE + "'";
String[] phoneArgs = new String[]{contactId};
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(selectPhone, phoneArgs)
.withValue(Phone.NUMBER, newNumber)
.build());
try { getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
, который я взял отсюда How to update contact number using Android и изменил его, чтобы пройти через все мои контакты и добавить к каждому из них приставкой моего собственного.
Я бегу через все контакты и я обеспечиваю с этим String id = phones.getString(phones.getColumnIndex(ContactsContract.Contacts._ID));
ид Контакта к вышеупомянутой функции. Но некоторые контакты. Особенно те, у которых есть несколько номеров, а некоторые из которых имеют только одно число, не изменяются, чтобы получить новый префикс, даже если данный идентификатор верен ?! , Я что-то пропустил, я не знаю, что менять. Я думаю, что это может быть тип mime, но я могу себе представить, что кто-то не может использовать предустановленные типы Android для телефонов и использовать собственный тип. У меня нет ошибок. Спасибо всем за ваше время !!!