我有这个代码
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();
}
}
我从这里获取如何使用 Android 更新联系人号码并对其进行更改,以便通过我的所有联系人并向每个联系人添加我自己的前缀。
我浏览了所有联系人,并提供了这个
String id = phones.getString(phones.getColumnIndex(ContactsContract.Contacts._ID));
联系人的 id 到上面的函数。但是有些联系人,尤其是有多个号码和一些只有一个号码的联系人,即使给定的 id 是正确的,也不要更改以获取新的前缀?!. 我在这里想念什么我不知道要改变什么。我认为它可能是 mime 类型,但我可以想象有人可能没有使用 Android 预装类型的手机并使用自定义类型。我没有收到任何错误。谢谢大家的时间!!!