gpt4 book ai didi

android - 使用多个电话号码更新联系人

转载 作者:行者123 更新时间:2023-11-30 03:37:23 24 4
gpt4 key购买 nike

我有这个代码

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));

上述函数的联系人 ID。但是有些联系人,尤其是那些有多个号码和一些只有一个号码的联系人,即使给定的 id 是正确的,也不要更改以获得新的前缀?! .我在这里错过了什么我不知道要改变什么。我认为它可能是 mime 类型,但我可以想象有人可能没有使用手机的 Android 预装类型并使用自定义类型。我没有收到任何错误。感谢大家的宝贵时间!!!

最佳答案

我终于更改了我的代码以正常工作,我正在传递联系 ID 但我需要电话 ID ...这是正确的代码。

public void updateContact (String contactId,  String newNumber) {        


ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
String selectPhone = Data._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 manifest(写联系人)上设置适当的权限

关于android - 使用多个电话号码更新联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com