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

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

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

Solutions Collecting From Web of "如何在Android中获取联系人的所有详细信息"

由于它引用了弃用的类,所以不得不更改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");