Android 获取手机联系人
2017-04-20 14:36
330 查看
/** * 获取手机联系人 */ public static List<HashMap<String, String>> getAllContactInfo(Context context) { SystemClock.sleep(3000); ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); // 1.获取内容解析者 ContentResolver resolver = context.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.解析cursor while (cursor.moveToNext()) { // 6.获取查询的数据 String contact_id = cursor.getString(0); // cursor.getString(cursor.getColumnIndex("contact_id"));//getColumnIndex // : 查询字段在cursor中索引值,一般都是用在查询字段比较多的时候 // 判断contact_id是否为空 if (!TextUtils.isEmpty(contact_id)) {//null "" // 7.根据contact_id查询view_data表中的数据 // selection : 查询条件 // selectionArgs :查询条件的参数 // sortOrder : 排序 // 空指针: 1.null.方法 2.参数为null Cursor 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.解析c while (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.关闭cursor c.close(); } } // 12.关闭cursor cursor.close(); return list; }
相关文章推荐
- Android进阶篇-获取手机通讯录联系人头像
- Android2.0中获取手机里联系人的方法
- android获取手机联系人信息(电话,邮箱,姓名,头像)
- Android 获取手机联系人信息
- Android 获取手机联系人
- 获取android手机联系人信息
- 如何获取android手机联系人并按字母展示(三)
- android获取手机通讯录联系人
- android开发步步为营之11:从手机联系人列表获取联系电话
- android获取手机通讯录联系人
- Android项目实战--手机卫士08--获取手机联系人
- 如何获取android手机联系人并按字母展示(一)
- android获取手机联系人并且按字母进行排序
- 向Android手机中插入一条短信 及联系人获取
- Android获取手机内联系人信息
- Android应用学习记录------AsyncTask和AsyncQueryHandler结合获取手机联系人信息
- android开发——获取手机联系人
- Android获取手机联系人
- Android手机获取通讯录联系人信息及短信广播实现
- 怎样获取android手机联系人并按字母展示(三)