获取ContentProvider来获取手机所有的联系人及联系人信息
用ContentProvider内容提供者的技术来获取手机上的联系人,比如开发软件时,如果您的好友也是软件用户,则可以通过手机联系人直接添加好友
下面是实现步骤
这里就模仿一下获得
首先在你的界面打一个按钮来获得
<Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="获取手机联系人"android:onClick="getContacts"/>
然后在相对应的的activity中编写以下代码
public class MainActivity extends AppCompatActivity {private ContentResolver cr;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取内容访问者cr = getContentResolver();}//定义获得联系人的方法public void getContacts(View view){//解析URI content://com.android.contacts/raw_contacts是获得联系人的协议//记得加content://Uri uri=Uri.parse("content://com.android.contacts/raw_contacts");Cursor cursor=cr.query(uri,null,null,null,null);while (cursor.moveToNext()){//获得联系人的idint _id=cursor.getInt(cursor.getColumnIndex("_id"));//获得联系人姓名String display_name=cursor.getString(cursor.getColumnIndex("display_name"));//循环打印你所有的联系人Log.i("test",_id+" "+display_name);//循环获得联系人的信息//"content://com.android.contacts/raw_contacts/"+_id+"/data" 协议Uri uriData=Uri.parse("content://com.android.contacts/raw_contacts/"+_id+"/data");Cursor cursorData=cr.query(uriData,null,null,null,null);while (cursorData.moveToNext()){String mimetype=cursorData.getString(cursorData.getColumnIndex("mimetype"));String data1=cursorData.getString(cursorData.getColumnIndex("data1"));//如果是电话,则打印// vnd.android.cursor.item/phone_v2是联系人姓名,同样的还有email,住址等if("vnd.android.cursor.item/phone_v2".equals(mimetype)){//Log.i("test"," "+mimetype+" "+data1);}}}}}
因为现在的手机越来越高级,处理的比较好,所以最后记得添加权限
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
当然,有一些手机的权限还是比较高还是拿不到联系人是有可能的、
获取ContentProvider来获取手机所有的联系人及联系人信息相关推荐
- android sd卡 格式化 rom,Android开发之获取SD卡及手机ROM容量的方法
本文实例讲述了Android获取SD卡及手机ROM容量的方法.分享给大家供大家参考,具体如下: 这里通过一个简单的小例子,来获取SD卡的容量和手机ROM的容量,代码如下: package com.ur ...
- python3爬虫有道翻译_一篇文章教会你利用Python网络爬虫获取有道翻译手机版的翻译接口...
[一.项目背景] 有道翻译作为国内最大的翻译软件之一,用户量巨大.在学习时遇到不会的英语词汇,会第一时间找翻译,有道翻译就是首选.今天教大家如何去获取有道翻译手机版的翻译接口. ![image](ht ...
- 华为+android+root权限获取root,华为root权限怎么开启怎么获取(简单华为手机ROOT教程)...
购置安卓系统手机后,一些泼懂技术的人群常常会因为是否ROOT而犹豫不决,没有尝试过ROOT后获取全部手机权限的滋味,自然心理痒痒的,但是又听说ROOT后有种种不好效果,比如删除系统文件无法正常运行手机 ...
- IT宅男利用Python网络爬虫获取有道翻译手机版翻译接口
[一.项目背景] 有道翻译作为国内最大的翻译软件之一,用户量巨大.在学习时遇到不会的英语词汇,会第一时间找翻译,有道翻译就是首选.今天教大家如何去获取有道翻译手机版的翻译接口. [二.项目目标] 多国 ...
- 手机获取仪器数据_手机电子数据提取操作规范(20151120)
3现场获取 3.1准备 在进行手机电子数据现场获取之前,需分析案情并进行准备工作,包括: a)现场获取的目的和范围: b)现场获取的人员,需明确分工,落实责任: c)明确手机现场获取需携带的仪器设备: ...
- ContentProvider解析-获取ContentProvider接口
本篇基于Android Framework 8.0的源码 对ContentProvider的使用从根本上来说也是围绕着Binder IPC.跟使用其他系统服务类似,APP对ContentProvide ...
- 手机怎样快速获取root权限,手机怎样快速获取root权限密码
安卓智能手机如何获取一键ROOT权限? 安卓智能手机获取一键ROOT权限的方法如下: 准备材料:安卓智能手机 1.为了提高ROOT的成功率,选择使用腾讯应用宝作为操作平台,手机连接后打开USB调试选项 ...
- doov如何获取root,doov手机怎么操作
朵唯l1怎么获取root权限管理 朵唯l1获取root权限管理的步骤: 1.手机先完全的关机,然后同时按住手机的音量下键 + HOME键 + 电源键,等待3秒, 2.然后再按音量上键,进入界面为绿色机 ...
- 获取鼠标位置和手机触摸点位置
思路 获取鼠标位置和手机触摸位置的思路都是相同的: 1.是否可以获取到pageX和pageY,有直接取值 2.没有,获取clientX和clientY,这个值在不翻页的情况下是正确位置,如果翻页了还需 ...
最新文章
- ldd3笔记_3_编译模块
- C#程序 权限不够的解决方案
- centos7 安装 python3
- iOS开发多线程篇—多线程简单介绍
- 鸿蒙45000,华为发布鸿蒙系统沟通口径通知 网友表示支持国货
- java学习笔记4--对象的初始化与回收
- eval?python顺序列表模拟栈实现计算器
- 头像和Karma汽车
- 中国移动全球通寻宝第四期攻略
- PyQt5 GUI Programming With Python 3.6 (一)
- 第12周Python学习周记
- Redis教程:数据持久化
- java数据读取容量,spring batch使用reader读数据的内存容量问题详解
- angularJs内置指令63个
- 计算机网络高校校园网设计思路,网络工程设计与实现程设计高校校园网设计方案.doc...
- http://www.2cto.com/ 红黑联盟
- arm9开发板重新生成文件系统,并烧写
- wordpressCMS插件-全套wordpressCMS插件免费
- 1 年原创 150+ 篇,这位前阿里 P9 牛批!
- 车辆搜索 -使用triplet loss 训练车辆识别模型