未列出新联系人

时间:2012-01-11 18:26:04

标签: android

我使用此代码添加联系人:

    public static long addNewNameToContact(Context context, String name) {

    long rawContactId = 0;

     ContentValues values = new ContentValues();

     values.put(Contacts.DISPLAY_NAME, name);

     Uri rawContactUri = context.getContentResolver().insert(RawContacts.CONTENT_URI, values); 
     rawContactId = ContentUris.parseId(rawContactUri); 

    return rawContactId;
}

(我只需要创建一个名称的联系人,然后添加电话和其他数据)。

你能帮助我吗?

非常感谢, 马特乌斯

1 个答案:

答案 0 :(得分:1)

首先,您需要创建指定帐户类型和名称的原始联系人。帐户类型和名称可以是任何字符串。例如,accountType =“com.mateus.app”和accountName =“user”:

ContentValues values = new ContentValues();
values.put(RawContacts.ACCOUNT_TYPE, accountType);
values.put(RawContacts.ACCOUNT_NAME, accountName);
Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);

然后,您可以使用上面返回的原始联系人ID设置显示名称:

values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.DISPLAY_NAME, "Mike Sullivan");
getContentResolver().insert(Data.CONTENT_URI, values);