gpt4 book ai didi

android - 将自定义字段添加到电话号码

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:58 27 4
gpt4 key购买 nike

我正在构建一个需要为每个电话号码自定义联系人字段(“白名单”,如果您想知道的话)的应用。

但是,我只找到了一种为每个联系人保存自定义数据的方法,使用 Data.RAW_CONTACT_ID,而不是为每个电话号码。我尝试使用 Phone._id,但出现了 java.nullpointerexception 错误。

这是我现在的代码:

try{ //phoneId = get Phone._ID from cursor
ContentValues values = new ContentValues();
values.put(Data.DATA1, "yes");
int state = getContentResolver().update(Phone.CONTENT_URI, values, Phone._ID + " = "
+ phoneId + " AND " + Data.MIMETYPE + "='" + MIMETYPE_WHITELIST_CONTACT+"'", null);
if (state == 0) {
values.put(Phone._ID, phoneId);
values.put(Data.DATA1, "yes");
values.put(Data.MIMETYPE, MIMETYPE_WHITELIST_CONTACT);
getContentResolver().insert(Data.CONTENT_URI, values);
}
}catch (Exception e) {
Toast.makeText(ChooseContactsActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}

有谁知道需要更改什么才能为电话号码而不是联系人保存自定义字段?

最佳答案

尝试使用此代码添加自定义标签编号。这是我的应用程序中的工作代码...

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

if (CustomLabelNo != null) {
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, id)
.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, CustomLabelNo)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_CUSTOM)
.withValue(ContactsContract.CommonDataKinds.Phone.LABEL, "mayurbhola_newCustomTest").build());
}

描述:CustomLabelNo :您要在联系人中添加的任何号码。操作:这是 ArrayList。

getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

[引用链接了解 getContentResolver]:http://developer.android.com/guide/topics/providers/content-providers.html此代码用于添加联系人......

您可以根据需要添加其他类型的号码和显示名称。

关于android - 将自定义字段添加到电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853799/

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