如何获取Android中联系人的所有详细信息

给定联系人ID,我可以通过对每个字段进行不同的查询获取各种联系人详细信息(如姓名,电话,电子邮件ID等).

但有没有一种方法可以通过单个查询获取与此联系人ID相关的所有详细信息?

解决方法

不得不改变 Content Providers上的一些教程,因为它引用了弃用的类,这可能会有所帮助.
import android.provider.ContactsContract.Contacts;
import android.database.Cursor;

// Form an array specifying which columns to return,you can add more.
String[] projection = new String[] {
                         ContactsContract.Contacts.disPLAY_NAME,ContactsContract.CommonDataKinds.Phone
                         ContactsContract.CommonDataKinds.Email
                      };

Uri contacts =  ContactsContract.Contacts.CONTENT_LOOKUP_URI;
// id of the Contact to return.
long id = 3;

// Make the query. 
Cursor managedCursor = managedQuery(contacts,projection,// Which columns to return 
                     null,// Which rows to return (all rows)
                                 // Selection arguments (with a given ID)
                     ContactsContract.Contacts._ID = "id",// Put the results in ascending order by name
                     ContactsContract.Contacts.disPLAY_NAME + " ASC");

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...