2

Imageview で連絡先のフルサイズの写真を読み取って表示しようとしています。以下のコードは、連絡先がローカルに作成されたエミュレーターでうまく機能しました。

gmail から連絡先が同期されている Attrix 4G でこれをテストしている間、フル サイズの連絡先は表示されません。

    Uri contactUri = ContentUris.withAppendedId(
            ContactsContract.Contacts.CONTENT_URI, id);
    Uri displayPhotoUri = Uri.withAppendedPath(contactUri,
            ContactsContract.Contacts.Photo.DISPLAY_PHOTO);

    AssetFileDescriptor fd = cr.openAssetFileDescriptor(
                displayPhotoUri, "r");
        input = fd.createInputStream();
return BitmapFactory.decodeStream(input);
4

2 に答える 2

1

私の読書によると、問題は単に、Gmail が写真の高解像度バージョンを同期していないためです。特に古いデバイス/API レベルではそうです。

したがって、写真が利用可能であればコードは機能しますが、対応する高解像度ファイルがないため、openAssetFileDescriptor の呼び出しは失敗します。

Android に対して報告されたこの問題を参照してください(間違っていますか?)。

于 2013-06-30T23:11:08.877 に答える