使用ContentProvider管理联系人------添加联系人

2023-03-14,,

add.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
    // 获取程序界面中的三个文本框
    String name = ((EditText)findViewById(R.id.name)).getText().toString();
    String phone = ((EditText)findViewById(R.id.phone)).getText().toString();
    String email = ((EditText)findViewById(R.id.email)).getText().toString();
    //创建一个空的ContentValues
    ContentValues values = new ContentValues();
    //向RawContacts.CONTENT_URI执行一个控制插入
    //目的是获取系统返回的rawContactId
    Uri 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);
    //设置联系人的E_mail地址
    values.put(Email.DATA, email);
    //设置该电子邮件的类型
    values.put(Email.TYPE, Email.TYPE_WORK);
    //向联系人E_mail Uri添加E-mail数据
    getContentResolver().insert(
        android.provider.ContactsContract.Data.CONTENT_URI, values);
    Toast.makeText(MainActivity.this, "联系人数据添加成功", 8000).show();
  }
});

使用ContentProvider管理联系人------添加联系人的相关教程结束。

《使用ContentProvider管理联系人------添加联系人.doc》

下载本文的Word格式文档,以方便收藏与打印。