我在检索联系人图片时遇到了问题。在我的 Galaxy Nexus(运行 JB,4.1.1)上,当我获得联系人图片时,它们显示得非常小。当我在我的 Droid 2(运行 GB,2.3.7)上运行相同的代码时,我总是得到我的默认图像。
这是我的代码:
Cursor cursor;
cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
cursor.moveToFirst();
contactName = cursor.getString(cursor.getColumnIndex((ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)));
pictureID = Uri.withAppendedPath(result, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY).toString();
if(contactPicture(Uri.parse(pictureID)))
{
contactsEditor.putString(""+id+ "Picture", pictureID);
}
else
contactsEditor.putString("" + id + "Picture", "" + R.drawable.ic_contact_picture);
contactsEditor.commit();
contactNumber = cursor.getString(cursor.getColumnIndex((ContactsContract.CommonDataKinds.Phone.NUMBER)));
cursor.close();
所有变量/常量都已正确定义(如果您想查看定义,请询问,我会发布它们)
这是我要放入的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:contentDescription="@string/contactPhotoDesc"
android:id="@+id/contactPic"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/contactName"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/contactNumber"/>
</LinearLayout>
</LinearLayout>
我的默认图像显示正常,但是当我从联系人检索图像时,它在 GNex 上显示得非常小。