Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何以编程方式添加联系人_Android - Fatal编程技术网

Android 如何以编程方式添加联系人

Android 如何以编程方式添加联系人,android,Android,如何使用编程添加联系人我正在尝试: public void addContact(Contact contact) ContentValues values = new ContentValues(); values.put("contact_id", contact.getContactId()); values.put("lookup", contact.getLookupKey()); values.put("mimetype", StructuredNam

如何使用编程添加联系人我正在尝试:

public void addContact(Contact contact)
    ContentValues values = new ContentValues();
    values.put("contact_id", contact.getContactId());
    values.put("lookup", contact.getLookupKey());
    values.put("mimetype", StructuredName.CONTENT_ITEM_TYPE);
    values.put("data1", contact.getStructuredName().getDisplayName());
    values.put("data2", contact.getStructuredName().getGivenName());
    values.put("data3", contact.getStructuredName().getFamilyName());
    values.put("data4", contact.getStructuredName().getPrefix());
    values.put("data5", contact.getStructuredName().getMiddleName());
    values.put("data6", contact.getStructuredName().getSuffix());
    context.getContentResolver().insert(Data.CONTENT_URI, values);
    }

最好的方法是使用
ContentProviderOperation
,而不是使用
ContentValues
。使用该功能:

private void addContact() {
    ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>(); 
    operationList.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI) 
            .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null) 
            .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null) 
            .build()); 

    // first and last names 
    operationList.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
            .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
            .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE) 
            .withValue(StructuredName.GIVEN_NAME, "Second Name") 
            .withValue(StructuredName.FAMILY_NAME, "First Name") 
            .build()); 

    operationList.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
            .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
            .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
            .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, "09876543210")
            .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, Phone.TYPE_HOME)
            .build());
    operationList.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
            .withValueBackReference(Data.RAW_CONTACT_ID, 0)

            .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
            .withValue(ContactsContract.CommonDataKinds.Email.DATA, "abc@xyz.com")
            .withValue(ContactsContract.CommonDataKinds.Email.TYPE, Email.TYPE_WORK)
            .build());

    try{ 
        ContentProviderResult[] results = getContentResolver().applyBatch(ContactsContract.AUTHORITY, operationList); 
    }catch(Exception e){ 
        e.printStackTrace(); 
    } 
}
private void addContact(){
ArrayList operationList=新建ArrayList();
operationList.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT\u URI)
.withValue(contacts contract.raw contacts.ACCOUNT_TYPE,null)
.withValue(contacts contract.raw contacts.ACCOUNT\u NAME,null)
.build());
//姓名
operationList.add(ContentProviderOperation.newInsert(Data.CONTENT\u URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、StructuredName.CONTENT\u ITEM\u TYPE)
.withValue(StructuredName.GIVEN_NAME,“第二个名称”)
.withValue(StructuredName.FAMILY_NAME,“名字”)
.build());
operationList.add(ContentProviderOperation.newInsert(Data.CONTENT\u URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(contacts contract.Data.MIMETYPE、contacts contract.commondatatypes.Phone.CONTENT\u ITEM\u TYPE)
.带值(contacts contract.commondatatypes.Phone.NUMBER,“09876543210”)
.withValue(contacts contract.commonDataTypes.Phone.TYPE,Phone.TYPE\u HOME)
.build());
operationList.add(ContentProviderOperation.newInsert(Data.CONTENT\u URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(ContactsContact.Data.MIMETYPE、ContactsContact.CommonDataTypes.Email.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.commondatatypes.Email.DATA,“abc@xyz.com")
.withValue(contacts contract.commondatatypes.Email.TYPE,Email.TYPE\u WORK)
.build());
试试{
ContentProviderResult[]results=getContentResolver().applyBatch(ContactsContract.AUTHORITY,operationList);
}捕获(例外e){
e、 printStackTrace();
} 
}
注意:请将其导入类文件
导入android.provider.contacts contract.Data


祝你好运。

那就试试吧。如果出现错误,请将其张贴在此处。您要将联系人添加到哪里。。?您正在尝试将联系人从android contacts添加到您的应用程序中,还是正在尝试将联系人添加到android contact?可能存在重复的