Android 使用ContentProvider 添加联系人
16lz
2021-01-23
布局文件:
<?xml version="1.0" encoding="utf-8"?>
代码部分:
package xuayn.contactprovider.add.test;import android.app.Activity;import android.content.ContentUris;import android.content.ContentValues;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract.CommonDataKinds.Email;import android.provider.ContactsContract.CommonDataKinds.Phone;import android.provider.ContactsContract.CommonDataKinds.StructuredName;import android.provider.ContactsContract.Data;import android.provider.ContactsContract.RawContacts;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class ContactProviderAddTestActivity extends Activity { /** Called when the activity is first created. */EditText text1,text2,text3;Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text1=(EditText)this.findViewById(R.id.editText1); text2=(EditText)this.findViewById(R.id.editText2); text3=(EditText)this.findViewById(R.id.editText3); button=(Button)this.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubString name=text1.getText().toString();String phone=text2.getText().toString();String email=text3.getText().toString();//创建一个空的ContentValuesContentValues values=new ContentValues();//向rawcontent。content——uri执行一个空值插入//目的是获取系统返回的rawcontactidUri rawcontacturi=getContentResolver().insert(RawContacts.CONTENT_URI, values);long rawcontactid=ContentUris.parseId(rawcontacturi);values.clear();values.put(Data.RAW_CONTACT_ID, rawcontactid);//设置内容类型values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);//设置联系人姓名values.put(StructuredName.GIVEN_NAME, name);//向联系人URI添加联系人姓名getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);values.clear();values.put(Data.RAW_CONTACT_ID, rawcontactid);values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);//设置联系人电话号码values.put(Phone.NUMBER, phone);//设置电话类型values.put(Phone.TYPE, Phone.TYPE_MOBILE);//向联系人电话号码URI添加电话号码getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);values.clear();values.put(Data.RAW_CONTACT_ID, rawcontactid);values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);//设置联系人email的地址values.put(Email.DATA, email);//设置改电子邮件类型values.put(Email.TYPE, Email.TYPE_WORK);//向联系人email uri添加 emailshujugetContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);Toast.makeText(ContactProviderAddTestActivity.this, "联系人数据添加成功!!", 8000).show();}}); }}
权限设定:
Androidmanifest.xml:
需加入两个权限:
更多相关文章
- Android基础之CursorAdapter 的用法与获取联系人信息显示、并点
- android根据姓名首字母字符顺序读取通信录
- android 拼音字母搜索联系人以及实现多选功能
- 转:获取android联系人信息
- android 获取通讯录联系人信息
- Android Contacts(二)—— SMS 短信 与 Contacts 联系人关联
- 电话接听并查看该人姓名
- Android - ContactPicker(选择联系人) 详解