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

给定联系人ID,我可以通过对每个字段进行不同的查询来获得各种联系方式(如姓名,电话,email-id等)。

但有没有一种方法来获取所有与此联系人ID相关的细节通过一个单一的查询?

  • 读取所有联系人数据
  • 隐式连接列如何与Android联系人数据配合使用?
  • Android只能获得一个游标,其中列出的电子邮件地址为android 2.0
  • Android如何发送多个联系人附加在单个.vcf文件并发送到邮件?
  • 如何从android的一组Whatsapp中获取联系人?
  • Android短信内容(内容://短信/发送)
  • 如何从android中的联系人列表中删除重复的联系人
  • Android:如何使用SDK将联系人添加到SIM卡?
  • 由于它引用了弃用的类,所以不得不更改Content Provider的教程,这可能会有所帮助。

    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");