添加必要的权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>

//添加到手机联系人public static void addContact(Context context,String name,String phone){Uri insertUri = android.provider.ContactsContract.Contacts.CONTENT_URI;Intent intent = new Intent(Intent.ACTION_INSERT, insertUri);intent.putExtra(android.provider.ContactsContract.Intents.Insert.NAME, name);//名字显示在名字框intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE,phone);//号码显示在号码框
//        intent.putExtra(ContactsContract.Intents.Insert.POSTAL,"");//地址显示在地址框context.startActivity(intent);}//保存至已有联系人public static void saveExistContact(Context context,String name, String phone) {Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);intent.setType("vnd.android.cursor.item/person");intent.setType("vnd.android.cursor.item/contact");intent.setType("vnd.android.cursor.item/raw_contact");//    intent.putExtra(android.provider.ContactsContract.Intents.Insert.NAME, name);intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE, phone);intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE_TYPE, 3);context.startActivity(intent);}//读取手机联系人列表
public static List<HashMap<String, String>> getAllContactInfo() {SystemClock.sleep(3000);ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();// 1.获取内容解析者ContentResolver resolver = Utils.getContext().getContentResolver();// 2.获取内容提供者的地址:com.android.contacts// raw_contacts表的地址 :raw_contacts// view_data表的地址 : data// 3.生成查询地址Uri raw_uri = Uri.parse("content://com.android.contacts/raw_contacts");Uri date_uri = Uri.parse("content://com.android.contacts/data");// 4.查询操作,先查询raw_contacts,查询contact_id// projection : 查询的字段Cursor cursor = resolver.query(raw_uri, new String[]{"contact_id"},null, null, null);// 5.解析cursorwhile (cursor.moveToNext()) {// 6.获取查询的数据String contact_id = cursor.getString(0);// cursor.getString(cursor.getColumnIndex("contact_id"));//getColumnIndex// : 查询字段在cursor中索引值,一般都是用在查询字段比较多的时候// 判断contact_id是否为空if (!StringUtils.isEmpty(contact_id)) {//null   ""// 7.根据contact_id查询view_data表中的数据// selection : 查询条件// selectionArgs :查询条件的参数// sortOrder : 排序// 空指针: 1.null.方法 2.参数为nullCursor c = resolver.query(date_uri, new String[]{"data1","mimetype"}, "raw_contact_id=?",new String[]{contact_id}, null);HashMap<String, String> map = new HashMap<String, String>();// 8.解析cwhile (c.moveToNext()) {// 9.获取数据String data1 = c.getString(0);String mimetype = c.getString(1);// 10.根据类型去判断获取的data1数据并保存if (mimetype.equals("vnd.android.cursor.item/phone_v2")) {// 电话map.put("phone", data1);} else if (mimetype.equals("vnd.android.cursor.item/name")) {// 姓名map.put("name", data1);}}// 11.添加到集合中数据list.add(map);// 12.关闭cursorc.close();}}// 12.关闭cursorcursor.close();return list;}

Android 保存号码至已有联系人,新建联系人,读取手机联系人相关推荐

  1. html5调用联系人列表,h5+ 读取手机联系人并渲染

    完整的代码 v-for="(contactObj, index) in item.contactArr" :key="index" :title="c ...

  2. 读取手机联系人,并用listview显示

    读取手机联系人,用到的就是一个contentprovider. 数据库里面有三张重要的表 raw_contact 里面有所有联系人的数据 data 每个联系人的所有数据 mime-type 每条数据的 ...

  3. java 添加手机联系人_Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结...

    本文实例讲述了Android编程实现读取手机联系人.拨号.发送短信及长按菜单操作方法.分享给大家供大家参考,具体如下: 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下 ...

  4. java 获取手机联系人_Android 读取手机联系人、拨号、发送短信及长按菜单的操作...

    本示例实现了读取手机联系人,拨号.发送短信及长按出现菜单选项的操作↓ 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下↓ a, main.xml 程序运行的主界面,主要 ...

  5. 读取手机联系人简单方法(id,姓名,手机号)

    <uses-permission android:name="android.permission.READ_CONTACTS"/> 布局文件 <?xml ver ...

  6. Android使用READ_CONTACTS读取手机联系人

    实例代码: package com.example.readcontacts;import java.io.InputStream; import java.util.ArrayList;import ...

  7. Android程序如何读取手机联系人

    导出手机联系人数据库,找到数据的存储结构 数据库位置: /data/data/com.android.providers.contacts/databases/contacts2.db 重要的三张表: ...

  8. Android内容提供者(读取手机联系人信息)

    工程目录: Manifestes加入读取联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS&qu ...

  9. Android项目——读取手机联系人信息

    加入读取联系人信息的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> cont ...

最新文章

  1. 经典再读 | NASNet:神经架构搜索网络在图像分类中的表现
  2. Installing PowerShell Management Library for windows server 2008
  3. 最近对python颇有兴趣
  4. Unity3D GUI学习之GUILayout控件及使用
  5. python 矩阵合并_numpy 的矩阵合并与分割
  6. 老式的计算机比现在的老太多了英语,老人自学英语30年成老师
  7. RFID芯片有什么用
  8. 如何将网易云ncm格式转换为mp3格式
  9. android swf游戏下载工具,swf游戏模拟器高级版下载
  10. cisp_pte培训试题
  11. 美国NSA泄露文件中提到的神秘APT组织被曝光
  12. python_open函数中newline参数详解
  13. vue腾讯地图h5 定位
  14. 联想拯救者15isk清灰_拯救者15值得买吗?联想拯救者15isk游戏本全面深度评测图解...
  15. s3c2440A操作24C08
  16. python列表生成式
  17. 为什么说小米会是品牌2020年最重要的增长源?
  18. JavaScript-05
  19. Orkut 试用报告
  20. html多媒体效果怎么使用,HTML多媒体标签video、audio、marquee详细讲解

热门文章

  1. 通过API获取ip地址以及城市和运营商
  2. 互联网四大「天坑」:社交、短视频、搜索、教育谁更难?
  3. 仿写练习-京东商城导航条
  4. moodle mysql,Moodle: 查询任意数据库
  5. 个人贷款违约预测模型(逻辑回归)
  6. 从纪念碑谷的收益看小而美的游戏的盈利困境
  7. Excel2002制作自动记录考勤表(转)
  8. 待机唤醒设置_网盘没落,NAS当道!不想NAS7*24待机,远程唤醒NAS很简单!
  9. ThinkPHP5数据库操作
  10. 充分利用Office:Office 2007 EnterPrise 企业版各软件介绍