我在檢索聯繫人圖片時遇到了問題。在我的Galaxy Nexus上(運行JB,4.1.1),當我得到聯繫人圖片時,他們顯示出真的很小。當我在Droid 2(Runing GB,2.3.7)上運行相同的代碼時,我總是得到我的默認圖像。Android聯繫人圖片問題
這裏是我的代碼:
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我「M把它變成:
<?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非常小。
OK,這似乎已經奏效了Galaxy Nexus的,但我仍然有2個問題: 1)我可以設置不同尺寸的ImageView的不同的屏幕大小 2)爲什麼會在聯繫人的圖片不顯示出來Droid 2?它仍然會返回我的默認圖片。 – Randy
1)是的,最好的方法是使用樣式:http://developer.android.com/guide/topics/ui/themes.html 2)也許它取決於存儲在設備中的數據?我沒有檢索聯繫人的經驗,但您可以閱讀http://app-solut.com/blog/2011/03/working-with-the-contactscontract-to-query-contacts-in-android/或http://thinkandroid.wordpress.com/2009/12/30/handling-contact-photos-all-api-levels/ – Ixx