Android 保存号码至已有联系人,新建联系人,读取手机联系人
添加必要的权限
<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 保存号码至已有联系人,新建联系人,读取手机联系人相关推荐
- html5调用联系人列表,h5+ 读取手机联系人并渲染
完整的代码 v-for="(contactObj, index) in item.contactArr" :key="index" :title="c ...
- 读取手机联系人,并用listview显示
读取手机联系人,用到的就是一个contentprovider. 数据库里面有三张重要的表 raw_contact 里面有所有联系人的数据 data 每个联系人的所有数据 mime-type 每条数据的 ...
- java 添加手机联系人_Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结...
本文实例讲述了Android编程实现读取手机联系人.拨号.发送短信及长按菜单操作方法.分享给大家供大家参考,具体如下: 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下 ...
- java 获取手机联系人_Android 读取手机联系人、拨号、发送短信及长按菜单的操作...
本示例实现了读取手机联系人,拨号.发送短信及长按出现菜单选项的操作↓ 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下↓ a, main.xml 程序运行的主界面,主要 ...
- 读取手机联系人简单方法(id,姓名,手机号)
<uses-permission android:name="android.permission.READ_CONTACTS"/> 布局文件 <?xml ver ...
- Android使用READ_CONTACTS读取手机联系人
实例代码: package com.example.readcontacts;import java.io.InputStream; import java.util.ArrayList;import ...
- Android程序如何读取手机联系人
导出手机联系人数据库,找到数据的存储结构 数据库位置: /data/data/com.android.providers.contacts/databases/contacts2.db 重要的三张表: ...
- Android内容提供者(读取手机联系人信息)
工程目录: Manifestes加入读取联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS&qu ...
- Android项目——读取手机联系人信息
加入读取联系人信息的权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> cont ...
最新文章
- 经典再读 | NASNet:神经架构搜索网络在图像分类中的表现
- Installing PowerShell Management Library for windows server 2008
- 最近对python颇有兴趣
- Unity3D GUI学习之GUILayout控件及使用
- python 矩阵合并_numpy 的矩阵合并与分割
- 老式的计算机比现在的老太多了英语,老人自学英语30年成老师
- RFID芯片有什么用
- 如何将网易云ncm格式转换为mp3格式
- android swf游戏下载工具,swf游戏模拟器高级版下载
- cisp_pte培训试题
- 美国NSA泄露文件中提到的神秘APT组织被曝光
- python_open函数中newline参数详解
- vue腾讯地图h5 定位
- 联想拯救者15isk清灰_拯救者15值得买吗?联想拯救者15isk游戏本全面深度评测图解...
- s3c2440A操作24C08
- python列表生成式
- 为什么说小米会是品牌2020年最重要的增长源?
- JavaScript-05
- Orkut 试用报告
- html多媒体效果怎么使用,HTML多媒体标签video、audio、marquee详细讲解