public static Map<String,String> getAllCallRecords(Context context) {
Map<String,String> temp = new HashMap<String, String>();
Cursor c = context.getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI,
null,
null,
null,
ContactsContract.Contacts.DISPLAY_NAME
+ " COLLATE LOCALIZED ASC");
if (c.moveToFirst()) {
do {
// 获得联系人的ID号
String contactId = c.getString(c
.getColumnIndex(ContactsContract.Contacts._ID));
// 获得联系人姓名
String name = c
.getString(c
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
// 查看该联系人有多少个电话号码。如果没有这返回值为0
int phoneCount = c
.getInt(c
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
String number=null;
if (phoneCount > 0) {
// 获得联系人的电话号码
Cursor phones = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = " + contactId, null, null);
if (phones.moveToFirst()) {
number = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();
}
temp.put(name, number);
} while (c.moveToNext());
}
c.close();
return temp;
}
分享到:
相关推荐
Android 获取通讯录联系人信息源码~~~~~~~~~~~~~~~~
一个练习的小例子,获取通讯录中所有联系人的工具类,存储在Map中,Map中key为手机号,value为联系人的姓名。还提供了一个根据手机号查询该手机号的联系人姓名的功能。 注:同一联系人可以存储多个手机号,但是同一...
主要介绍了Android获取手机通讯录、sim卡联系人及调用拨号界面方法,本文分别给出实现代码实现获取通讯录和sim卡的联系人,以及权限配置和调用系统拨打电话的界面的实现代码,需要的朋友可以参考下
雨松MOMO带你做软件 Android软件开发之获取通讯录联系人信息 哇咔咔~~
Android读取通讯录中设置邮件的联系人 DEMO Android读取通讯录中设置邮件的联系人 demo
实现了调用手机自带通讯录获取联系人功能,可以自由选择联系人
android 获取手机通讯录联系人信息,点击直接拨打电话源码 关注博客http://himici.com/
Android通讯录管理(获取联系人、通话记录、短信消息),需要的打包带走
android 8.1系统蓝牙连接,获取通讯录及通话记录、蓝牙电话等相关代码逻辑梳理
Android 获取联系人 仿QQ通讯录
android 联系人 SIM卡 最近联系人 通讯录 获取源代码
Android 获取系统联系人并发送短信demo
前阵子主要是记录了如何对联系人的一些操作,比如搜索,全选、反选和删除等在实际开发中可能需要实现的功能,本篇博客是小巫从一个别人开源的一个项目抽取出来的部分内容,把它给简化出来,可以让需要的朋友清楚知道...
获取系统通讯录并且返回所选的联系人。之前一直都是通过ContentResolver 一大堆的 sql 来获取,然后在自己的界面上显示这些联系人,感觉不爽 ,后来就读了些文档, 发现可以直接调用手机系统中的联系人。不用去画...
安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人).rar
基于android手机通讯录的设计与实现毕业论文
ListView实现A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,获取通讯录联系人和头像