Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中获取联系人的所有详细信息_Android_Contacts - Fatal编程技术网

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

如何在Android中获取联系人的所有详细信息,android,contacts,Android,Contacts,给定一个联系人id,我可以通过对每个字段进行不同的查询来获取各种联系人详细信息(如姓名、电话、电子邮件id等) 但是,有没有一种方法可以通过一次查询获得与此联系人id相关的所有详细信息?必须对教程中的内容进行一些更改,因为它引用了不推荐的类,这可能会有所帮助 import android.provider.ContactsContract.Contacts; import android.database.Cursor; // Form an array specifying which co

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


但是,有没有一种方法可以通过一次查询获得与此联系人id相关的所有详细信息?

必须对教程中的内容进行一些更改,因为它引用了不推荐的类,这可能会有所帮助

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

谢谢你的及时回复。但我使用的是1.6SDK和ContactsContract,它似乎适用于2.0及以上版本。1.6及以下版本的任何解决方案Android@frieza返回并查看答案顶部链接到的内容提供商教程。显然,Anthony在发布他的答案时接受了教程并将其更新为2.0,但您需要的是原始教程。呃,这是我的错,我之前假设它是2.0 SDK,但mbaird是对的,
contentproviders
链接中的教程对您来说应该很好。我在projection
ContactsContract.CommonDataTypes.Phone ContactsContract.CommonDataTypes.Email
android 2时遇到了问题。2@Octavian:我不确定我是否同意从问题标题中删除Android。对于其他技术的问题来说,这似乎是很常见的。这可能是一个编辑问题meta@ChrisLively我得承认你在这件事上可能是对的。我会把它换回来。