【发布时间】:2015-07-16 07:00:31
【问题描述】:
您好,我正在处理联系人目录,我已经制作了自定义通话记录,不,我想在单击其中一个联系人时显示联系人详细信息,我首先从联系人号码中获取 contact_id,然后通过搜索在互联网上,我有一个函数可以从联系人 ID 中获取所有详细信息,我已将其放入我的代码中,但它不起作用,没有给我结果,
public void getDetials(String contactID) {
Uri myPhoneUri = Uri.withAppendedPath(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
Uri.encode(contactID));
// Query the table
@SuppressWarnings("deprecation")
Cursor phoneCursor = managedQuery(myPhoneUri, null, null, null, null);
// Get the phone numbers from the contact
for (phoneCursor.moveToFirst(); !phoneCursor.isAfterLast(); phoneCursor
.moveToNext()) {
// Get a phone number
String phoneNumber = phoneCursor
.getString(phoneCursor
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
//get name
String phonename = phoneCursor
.getString(phoneCursor
.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
//get email
String phoneemail = phoneCursor
.getString(phoneCursor
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Email.DATA));
//get image uri..!!
String img_uri = phoneCursor
.getString(phoneCursor
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.PHOTO_URI));
System.out
.println("=============my phone number ,is==================="
+ phoneNumber + "======in call info=="+"\n =========name is===="+phonename+"=================email is========"+phoneemail);
System.out.println("======myimgae url fopr the contact is============="+img_uri);
}
}
【问题讨论】:
-
我想知道您是否忘记传递
projection进行查询。如果没有有效的projection,可能会导致您没有任何数据返回 -
能否请您发布一些代码或编辑我的代码?提前谢谢。
标签: android android-contentprovider android-contacts contactscontract