連絡先の写真の取得に問題があります。私のGalaxyNexus(JB、4.1.1を実行)では、連絡先の写真を取得すると、非常に小さく表示されます。Droid 2(Running 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では非常に小さく表示されます。