如何以编程方式创建联系人[重复]
Posted
技术标签:
【中文标题】如何以编程方式创建联系人[重复]【英文标题】:How to create a contact programmatically [duplicate] 【发布时间】:2012-01-14 21:33:07 【问题描述】:可能重复:How to add new contacts in android
public boolean createContact(String name, String number, String email)
boolean success = true;
try
ContentValues contentValues = new ContentValues();
ContentResolver contentResolver = getContentResolver();
contentValues.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
contentValues.put(Phone.NUMBER, "123254");
Uri uri = contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI, contentValues);
if(uri==null)
success = false;
catch (Exception e)
e.printStackTrace();
success = false;
return success;
我收到 NullPointer 异常 我不知道为什么我还指定了 WRITE_CONTACTS 权限。请帮助我............
【问题讨论】:
我不想使用 android.provider.Contacts 我想使用 android.provider.ContactContracts 创建联系人 祝你好运***.com/questions/4744187/… 使用contactslib 库。 (公平警告:不再维护。)Here's 他们向您展示如何添加新联系人的页面。这是迄今为止最干净的方法。 谢谢你的回答,但你能告诉我如何实现 PersonContact ContactsHelper 和其他类我不明白这实际上是做什么的,他们没有提到任何关于 android.provider.ContactContracts 这是所有联系人的基本 uri @KK_07k11A0585,它是开源的。做一个 SVN Checkout(在页面上)或者你可以在线浏览源代码:) 【参考方案1】:ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, 001);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, " 1-800-GOOG-411 ");
values.put(Phone.TYPE, Phone.TYPE_CUSTOM);
values.put(Phone.LABEL, "free directory assistance");
Uri dataUri = getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
使用上面的代码。你没有提供身份证。 http://developer.android.com/reference/android/provider/ContactsContract.Data.html
【讨论】:
为什么要在电话号码周围加空格?以上是关于如何以编程方式创建联系人[重复]的主要内容,如果未能解决你的问题,请参考以下文章