Android wiki:15.读取系统联系人
来源:互联网 发布:苹果手机免费赚钱软件 编辑:程序博客网 时间:2024/04/28 15:42
/**
* <h1>读取系统联系人<h1><br>
* 每个map存放联系人的名称和号码name="zs",phone="123"
* @return List <Map<String, String>> 联系人集合
*
*/
private List<Map<String, String>> getContacts() {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
ContentResolver resolver = this.getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");// raw_contact 表的uri
Uri dataUri = Uri.parse("content://com.android.contacts/data"); // data 表的uri
Cursor cursor = resolver.query(uri, new String[] { "contact_id" }, null, null, null);
while (cursor.moveToNext()) {
String id = cursor.getString(0);
if (id != null) {
Map<String, String> map = new HashMap<String, String>();
Cursor dataCursor = resolver.query(dataUri, new String[] { "data1", "mimetype" }, "raw_contact_id=?",
new String[] { id }, null);
while (dataCursor.moveToNext()) {
String data = dataCursor.getString(0);
String mimetype = dataCursor.getString(1);
if ("vnd.android.cursor.item/name".equals(mimetype)) {
// 联系人的姓名
map.put("name", data);
} else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {
// 联系人的电话号码
map.put("phone", data);
}
}
list.add(map);
dataCursor.close();
}
}
cursor.close();
return list;
}
* <h1>读取系统联系人<h1><br>
* 每个map存放联系人的名称和号码name="zs",phone="123"
* @return List <Map<String, String>> 联系人集合
*
*/
private List<Map<String, String>> getContacts() {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
ContentResolver resolver = this.getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");// raw_contact 表的uri
Uri dataUri = Uri.parse("content://com.android.contacts/data"); // data 表的uri
Cursor cursor = resolver.query(uri, new String[] { "contact_id" }, null, null, null);
while (cursor.moveToNext()) {
String id = cursor.getString(0);
if (id != null) {
Map<String, String> map = new HashMap<String, String>();
Cursor dataCursor = resolver.query(dataUri, new String[] { "data1", "mimetype" }, "raw_contact_id=?",
new String[] { id }, null);
while (dataCursor.moveToNext()) {
String data = dataCursor.getString(0);
String mimetype = dataCursor.getString(1);
if ("vnd.android.cursor.item/name".equals(mimetype)) {
// 联系人的姓名
map.put("name", data);
} else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {
// 联系人的电话号码
map.put("phone", data);
}
}
list.add(map);
dataCursor.close();
}
}
cursor.close();
return list;
}
0 0
- Android wiki:15.读取系统联系人
- Android 读取系统联系人
- Android 选择系统联系人并读取联系人数据
- Android -- ContentProvider, 读取和保存系统 联系人
- android 学习笔记 读取系统联系人
- Android开发之读取系统联系人
- Android内容提供者(一)读取系统联系人
- Android—ContentProvider读取系统联系人
- Android ContentResolver读取手机系统数据<联系人>
- Android------读取并选择系统联系人数据
- ContentProvider 读取系统联系人
- 读取系统联系人
- 读取系统的联系人
- 读取系统联系人
- 读取系统联系人
- android联系人读取
- Android 读取联系人(详细)
- android 读取联系人
- 【8.17】建立一个用来实现求3个数和的类模板(将成员函数定义在类模板的内部),并写出调用此类模板的完整程序。
- Android wiki:14.自定义Toast样式
- iOS开发之使用代码定位性更高的Log
- OpenCV参考手册之CvCapture结构体
- KBC Petro-SIM v6.0 Win32_64-ISO 2DVD炼油厂模拟
- Android wiki:15.读取系统联系人
- Java基础---JavaSE面试锦集
- Git SourceTree 冲突解决方案
- 介绍几本专业的书籍,一起学习 关于技术 数学方面的
- DesignBuilder.Software.Ltd.DesignBuilder.v4.2.0.054 1CD建筑能耗动态模拟程序
- HashMap解决hash冲突的方法
- 在MyEclipse上创建SSH项目
- Sumsets(4sum问题)
- /MD 与 /MT、/MTD与/MDD的区别