如何以编程方式创建联系人[重复]

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

【讨论】:

为什么要在电话号码周围加空格?

以上是关于如何以编程方式创建联系人[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中以编程方式将铃声添加到本机应用程序联系人

如何以编程方式在android 10中恢复已删除的联系人

地址簿以编程方式保存联系人图像

想以编程方式在联系人中创建一个新组

如何以编程方式找出联系人是不是可在android中编辑

如何在android中以编程方式显示联系人列表?