第四十九篇 — 添加联系人信息Addcontact

第四十九篇 — 添加联系人信息Addcontact往通讯录里添加联系人首先 在清单文件里添加读写权限 uses permissionan name android permission READ CONTACTS 读取通讯录权限

往通讯录里添加联系人

首先,在清单文件里添加读写权限

 
    
    
    
   

 

MainActivity.java

第四十九篇 -- 添加联系人信息Addcontact 第四十九篇 -- 添加联系人信息Addcontact

package com.aimee.android.play.addcontact;

import android.Manifest;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends BaseActivity {
    private static final String TAG = "MainActivity";

    private EditText mEtname;
    private EditText mEtmail;
    private EditText mEtphone;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        performCodeWithPermission("插入联系人信息", new PermissionCallback() {
            @Override
            public void hasPermission() {

            }

            @Override
            public void noPermission() {

            }
        }, Manifest.permission.WRITE_CONTACTS, Manifest.permission.READ_CONTACTS);

        mEtname = findViewById(R.id.et_name);
        mEtmail = findViewById(R.id.et_email);
        mEtphone = (EditText) findViewById(R.id.et_phone);
    }

    /
     * 添加联系人信息
     * @param view
     */
    public void addContact(View view) {
        //1.判断是否为空
        String name = mEtname.getText().toString().trim();
        String email = mEtmail.getText().toString().trim();
        String phone = mEtphone.getText().toString().trim();
        if (TextUtils.isEmpty(name)){
            Toast.makeText(this,"姓名不能为空",Toast.LENGTH_SHORT).show();
            return;
        }

        //2.在raw_contact表里面添加联系人id
        ContentResolver resolver = getContentResolver();
        Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
        Uri dataUri = Uri.parse("content://com.android.contacts/data");

        Cursor cursor = resolver.query(uri, null, null, null, null, null);
        int new_id = cursor.getCount() + 1;

        ContentValues values = new ContentValues();
        resolver.insert(uri,values);

        //3.在data表里面添加联系人数据
        ContentValues namevalues = new ContentValues();
        namevalues.put("raw_contact_id",new_id);
        namevalues.put("data1",name);
        namevalues.put("mimetype","vnd.android.cursor.item/name");
        resolver.insert(dataUri,namevalues);

        ContentValues phonevalues = new ContentValues();
        phonevalues.put("raw_contact_id",new_id);
        phonevalues.put("data1",phone);
        phonevalues.put("mimetype","vnd.android.cursor.item/phone_v2");
        resolver.insert(dataUri,phonevalues);

        ContentValues emailvalues = new ContentValues();
        emailvalues.put("raw_contact_id",new_id);
        emailvalues.put("data1",email);
        emailvalues.put("mimetype","vnd.android.cursor.item/email_v2");
        resolver.insert(dataUri,emailvalues);

        Toast.makeText(this,"添加信息成功",Toast.LENGTH_SHORT).show();
    }
}

View Code

 

 

activity_main.xml:

第四十九篇 -- 添加联系人信息Addcontact 第四十九篇 -- 添加联系人信息Addcontact


     
       
       
       
       
       xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">

    <EditText android:id="@+id/et_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:layout_marginEnd="8dp" android:ems="10" android:hint="请输入name" android:inputType="textPersonName" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.503" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />

    <EditText android:id="@+id/et_email" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:layout_marginEnd="8dp" android:ems="10" android:hint="请输入邮箱" android:inputType="textPersonName" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.503" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/et_name" />

    <EditText android:id="@+id/et_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:layout_marginEnd="8dp" android:ems="10" android:hint="请输入号码" android:inputType="textPersonName" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.503" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/et_email" />

    <Button android:id="@+id/button3" android:layout_width="91dp" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="32dp" android:layout_marginEnd="8dp" android:onClick="addContact" android:text="Button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/et_phone" />

 
        android.support.constraint.ConstraintLayout>

View Code

 

 

界面:

第四十九篇 -- 添加联系人信息Addcontact

输入姓名,邮箱,电话,然后点击Button就可以将其存储到通讯录中

 

转载于:https://www.cnblogs.com/smart-zihan/p/11038326.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209273.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午9:38
下一篇 2026年3月19日 上午9:38


相关推荐

  • 微信小程序快速接口编写

    微信小程序快速接口编写

    2021年9月17日
    92
  • LRC 文件格式定义

    LRC 文件格式定义以下具体介绍 LRC 格式中的 标签 时间标签 Time tag 形式为 mm ss 或 mm ss fff 分钟数 秒数 数字须为非负整数 比如 12 34 5 是有效的 而 0x0C 34 5 无效 它可以位于某行歌词中的任意位置 一行歌词可以包含多个时间标签 比如歌词中的迭句部分 根据这些时间标签 用户端程序会按顺序依次高亮显示歌词 从而实现卡拉 OK 功能 另外 标

    2026年3月19日
    2
  • java中的数据类型有哪些?

    java中的数据类型有哪些?基本数据类型:boolean、char、byte、short、int、long、float、double引用数据类型:类、接口、数组

    2022年7月7日
    26
  • pycharm怎么配置python环境anaconda_pycharm环境变量配置Anaconda

    pycharm怎么配置python环境anaconda_pycharm环境变量配置AnacondaPyCharm是一款很好用很流行的python编辑器。Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。Anaconda通过管理工具包、开发环境、Python版本,大大简化了你的工作流程。不仅可以方便地安装、更新、卸载工具包,而且安装时能自动安装相应的依赖包,同时还能使用不同的虚拟环境隔离不同要求的项目。anaconda自带集成开发…

    2022年8月25日
    19
  • Mac 卸载Java「建议收藏」

    Mac 卸载Java「建议收藏」Mac彻底卸载Javamac上终端安装了太多的JavaJDK版本,计划全部删除,重新安装最新版本JDK。打开终端输入以下命令://1、移除JavaAppletPlugin.plugin与JavaControlPanel.prefpanesudorm-fr/Library/Internet\Plug-Ins/JavaAppletPlugin.pluginsudorm-fr/Library/PreferencesPanes/JavaControlPanel.prefpane

    2022年5月19日
    85
  • goland2021.8激活码[免费获取]

    (goland2021.8激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlBI7JCUH1TG-eyJsa…

    2022年3月22日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号