博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 查询联系人姓名和号码
阅读量:7298 次
发布时间:2019-06-30

本文共 4009 字,大约阅读时间需要 13 分钟。

hot3.png

package com.iban.dao;import java.util.ArrayList;import java.util.List;import com.iban.pojo.User;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.provider.ContactsContract;public class ContactUtil {	public static void getContact(Context context){		ContentResolver cr = context.getContentResolver();        Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);//查询通讯录        if(cursor.getCount()>0){            while (cursor.moveToNext()) {                String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));//联系人id                String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));//联系人名称                System.out.println("name:"+name);                if(cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))>0){                    //Query phone here.  Covered next 在该处查询电话号码                	 Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",                              new String[]{id}, null);                     while (pCur.moveToNext()) {                         // Do something with phones                        String phoneNumber = pCur.getString(pCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                     	 System.out.println("number:"+phoneNumber);                     }                      pCur.close();                }            }        }	}				public List
getUsers( Context context){ List
listUser = new ArrayList
(); ContentResolver resolver = context.getContentResolver(); String phoneNumber = ""; // 获得所有的联系人 Cursor cur = resolver.query( ContactsContract.Contacts.CONTENT_URI, null, null,null, ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"); // 循环遍历 if (cur.moveToFirst()) { User user = new User(); int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID); int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); do { String contactId = cur.getString(idColumn); System.out.println("contactId:"+contactId); // 获得联系人姓名 String disPlayName = cur.getString(displayNameColumn); user.setUserName(disPlayName); System.out.println("disPlayName:"+disPlayName); // 查看该联系人有多少个电话号码。如果没有这返回值为0 int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); if (phoneCount > 0) { // 获得联系人的电话号码 Cursor phones = resolver.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); if (phones.moveToFirst()) { do { // 遍历所有的电话号码 int id = phones.getInt(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID)); phoneNumber = phones .getString(phones .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); } while (phones.moveToNext()); } } System.out.println("phoneNumber:"+phoneNumber); user.setPhoneNumber(phoneNumber); } while (cur.moveToNext()); } return listUser; }}

转载于:https://my.oschina.net/xiahuawuyu/blog/123549

你可能感兴趣的文章
Android开发者指南(23) —— Application Resources
查看>>
libevent(五)使用例子
查看>>
Python爬虫(一)爬百度贴吧
查看>>
QT学习之QString
查看>>
javascript 面向对象编程(一):封装
查看>>
vim常用指令及快捷键(持续更新)
查看>>
php hash函数
查看>>
链表的基本操作
查看>>
统计日志10分钟内出现的次数
查看>>
python开发函数进阶:内置函数
查看>>
sssssss
查看>>
责任链模式实例:扣除用户金币/写入金币明细/发送消息
查看>>
4.09.3
查看>>
Silverlight之布局
查看>>
今天去参加了“欧特克高端影视动画解决方案研讨会”
查看>>
fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
查看>>
python中type、object与class之间关系(一切皆对象)
查看>>
Delphi中ShellExecute的妙用
查看>>
汽车常识全面介绍 - 安全防护
查看>>
26/02/2009 ECONOMICS REPORT - Obama Proposes $3.5 Trillion Budget for 2010
查看>>