16_获取联系人信息
2016-04-13 23:45
211 查看
获取联系人信息
如何获取联系人信息,这是要访问用户隐私的
联系人信息都是放在系统的数据库中的,
数据库地址是
data/data/com.android.providers.contacts/databases/contacts2.db
那么我们就要使用内容解析者了
ContentResolver cr = context.getContentResolver();
调用cr的query方法
contentResolver.query(uri, projection, selection, selectionArgs, sortOrder)
5个参数,后面3个不用管,都是null
第一个是uri
第二个是projection
我们先来获取uri
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
这是通过电话信息获取Uri,
因为一个联系人可能有多个电话号码,
所以直接用联系人的话可能有些电话号码获取不到
不过如果只想获取联系人的话,那可以直接用联系人的uri
接下来是projection
String[] projection = {ContactsContract.CommonDataKinds.Phone.CONTACT_ID, //
联系人ID,用来获取头像
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,//
姓名
ContactsContract.CommonDataKinds.Phone.NUMBER,//
电话号码
};
然后query一下,用cursor遍历就行了
Cursor cursor = cr.query(uri, projection, null, null, null);
if (cursor == null) {
return null;
}
while (cursor.moveToNext()) {
int contactId = cursor.getInt(0);
String name = cursor.getString(1);
String number = cursor.getString(2);
}
至于怎么用一般就是放在bean类里面了
相关文章推荐
- spring 与 jsf整合
- android学习——handler的学习及实现封装下载图片功能
- iOS网络编程2——NSURLSession使用
- 狸猫的笔试——字符转int
- 【BZOJ1005】明明的烦恼
- 虚拟机技术
- 使用 OpenCV 与 Face++ 人脸识别
- hdu-4126 Genghis Khan the Conqueror(最小生成树+树形dp)
- 15_工厂设计模式
- 如何阅读一本书(3)
- 14_java中的设计模式
- Java一点笔试题【2016-04-13】
- LeetCode 93. Restore IP Addresses
- 20145319 实验二
- 12_多线程案例分析
- ubuntu安装sougou拼音输入法
- Web端服务器推送技术原理分析及dwr框架简单的使用
- SVN客户端上传文件功能的实现
- [LeetCode] Valid Phone Numbers 验证电话号码
- 11_ProgressBar和ProgressDialog的区别