如何以编程方式创建联系人 [英] How to create a contact programmatically

查看:136
本文介绍了如何以编程方式创建联系人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  

可能重复:
  如何在Android的添加新的联系人

 公共布尔的createContact(字符串名称,串号,串电子邮件)
    {
        布尔成功= TRUE;

        尝试
        {
            ContentValues​​ contentValues​​ =新ContentValues​​();

            ContentResolver的ContentResolver的= getContentResolver();

            contentValues​​.put(Data.MIMETYPE,Phone.CONTENT_ITEM_TYPE);
            contentValues​​.put(Phone.NUMBER,123254);
            开放的我们的uri = contentResolver.insert(android.provider.ContactsContract.Data.CONTENT_URI,contentValues​​);

            如果(URI == NULL)
            {
                成功= FALSE;
            }

        / *

            ArrayList的< ContentProviderOperation> OPS =新的ArrayList< ContentProviderOperation>();

             ops.add(ContentProviderOperation.newInsert(android.provider.ContactsContract.Contacts.CONTENT_URI)
                      .withValue(Email.DATA,电子邮件)
                      .withValue(ContactsContract.Contacts.CONTENT_ITEM_TYPE,Email.CONTENT_ITEM_TYPE)
                      。建立());


           contentResolver.applyBatch(ContactsContract.AUTHORITY,OPS);

}
        赶上(例外五)
        {
            e.printStackTrace();
            成功= FALSE;
        }
        返回成功;
    }
 

我收到空指针异常,我不知道为什么我还指定 WRITE_CONTACTS 权限。请帮我............

解决方案

  ContentValues​​值=新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,自由查号台);
            乌里dataUri = getContentResolver()插入(android.provider.ContactsContract.Data.CONTENT_URI,值)。
 

使用上述code。您还没有提供身份证。 <一href="http://developer.android.com/reference/android/provider/ContactsContract.Data.html">http://developer.android.com/reference/android/provider/ContactsContract.Data.html

Possible Duplicate:
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;
            }

        /*  

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

             ops.add(ContentProviderOperation.newInsert(android.provider.ContactsContract.Contacts.CONTENT_URI)
                      .withValue(Email.DATA, email)
                      .withValue(ContactsContract.Contacts.CONTENT_ITEM_TYPE, Email.CONTENT_ITEM_TYPE)
                      .build());


           contentResolver.applyBatch(ContactsContract.AUTHORITY, ops);

}
        catch (Exception e) 
        {
            e.printStackTrace();
            success = false;
        }
        return success;
    }

I am getting NullPointer Exception I don't know why I have also specified WRITE_CONTACTS Permission. Please help me ............

解决方案

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

Use the above code. You are not providing id. http://developer.android.com/reference/android/provider/ContactsContract.Data.html

这篇关于如何以编程方式创建联系人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆