获得联系人姓名、电话号码的方法
//获取联系人的姓名、电话信息 public List<ContactInfo> getContact() { //取得ContentResolver ContentResolver content = getContentResolver(); Uri uri = ContactsContract.Contacts.CONTENT_URI; //联系人的URI Cursor cursor = content.query(uri,null, null, null, null); int contactCount = cursor.getCount(); //获得联系人数目 List<ContactInfo> contacts = new ArrayList<ContactInfo>(contactCount); if (cursor.moveToFirst()) { // 循环遍历 for (;!cursor.isAfterLast();cursor.moveToNext()) { List<String> allPhoneNum = null; ContactInfo contact = new ContactInfo(); int idColumn = cursor.getColumnIndex(ContactsContract.Contacts._ID); int displayNameColumn = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); int phoneColumn = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER); // 获得联系人的ID号 String contactId = cursor.getString(idColumn); contact.setContactId(contactId); // 获得联系人姓名 String disPlayName = cursor.getString(displayNameColumn); contact.setContactName(disPlayName); // 电话号码的个数 //String phoneString = cursor.getString(phoneColumn); int phoneNum = cursor.getInt(phoneColumn); if (phoneNum > 0) { // 获得联系人的电话号码的cursor; Cursor phones = content.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, null, null); int phoneCount = phones.getCount(); allPhoneNum = new ArrayList<String>(phoneCount); if (phones.moveToFirst()) { // 遍历所有的电话号码 for (;!phones.isAfterLast();phones.moveToNext()) { String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); allPhoneNum.add(phoneNumber); } if (!phones.isClosed()) { phones.close(); } } } contact.setContactPhone(allPhoneNum); contacts.add(contact); } if (!cursor.isClosed()) { cursor.close(); } } return contacts; } public class ContactInfo } |
获得联系人姓名、电话号码的方法相关推荐
- Android简单获取手机联系人姓名电话号码
1.手机上联系人数据库文件(contact2.db)存放目录:/data/data/com.android.providers.contacts 2.联系人源码位于工程目录:packages\apps ...
- 获取手机联系人信息(姓名 电话号码)
手机的联系人信息,存放的位置分为两种.一种存放在手机内存里面,一种是存放在sim卡里面. 他们的访问方式都相似,都是把电话号码和联系人姓名是分开存放在数据库中的,只是访问的uri不同. 本文主要讲的是 ...
- 根据电话号码查找通讯录中联系人姓名
方法一 参照google文档的说明进行的查找操作: google文档query说明如下(第二条): Query If you need to read an individual contact, c ...
- 根据电话号码获取联系人姓名
以下是根据一个已知的电话号码,从通讯录中获取相对应的联系人姓名的代码: [java] view plain copy print ? public String getContactNameFromP ...
- Android中 根据电话号码获取联系人姓名
以下是根据一个已知的电话号码,从通讯录中获取相对应的联系人姓名的代码: public String getContactNameFromPhoneBook(Context context, Strin ...
- Android 获取联系人姓名和电话号码信息
ContactsContract 类是存储联系人相关信息的数据库. 获取联系人信息的URL:ContactsContract.Contacts.CONTENT_URI 几个需要用到的字段: Conta ...
- android 通过电话号码来获取联系人姓名
通过电话号码来获取联系人姓名的程序如下,通过ContactsContract.PhoneLookup.CONTENT_FILTER_URI来获取对应adress(电话号码)的信息. private S ...
- Android根据电话号码取得联系人姓名及头像
2 * 根据电话号码取得联系人姓名 3 */ 4 public static String getContactNameByPhoneNumber(Context co ...
- android 联系人编辑界面,android – 以编程方式编辑联系人的姓名/电话号码
我试图以编程方式修改联系人的显示名称: try { ArrayList ops = new ArrayList(); ops.add(ContentProviderOperation.newUpdat ...
最新文章
- Oracle 物理结构(六) 文件-数据文件
- pytorch nan解决方法笔记
- Python超详细的字符串用法大全
- 科大星云诗社动态20211008
- git 一口气带你走完git之旅
- windows无法启动oracleremexecservice服务_Windows下MySQL无法启动万能解决方案
- app之---豆果美食
- Ext js tabpanel的使用
- 这种反爬虫手段有点意思,看我破了它!
- Mysql8.0安装+navicat for Mysql安装+navicat for Mysql。
- c语言 静态断言,C断言/静态断言
- html的兼容有哪些,HTML里需要兼容验证的浏览器有哪些
- 如何实现一个php框架系列文章【2】实现类的自动加载
- Origin | 图形动画制作
- Educational Codeforces Round 140 (Rated for Div. 2)A~D题解
- Linux C语言调用C++动态链接库-改
- Nginx启动失败的几种错误处理
- 温漂:元器件温度系数TCR
- 01--python 中的列表list 练习题
- Skr-Eric的网络编程课堂(八)-- 信号通信、信号量、进程的同步互换和Lock锁