連絡先の画像をビューの背景として取得および設定するのに問題があります。驚くべきことに、その方法の例はほとんどありません。大きな連絡先の写真を表示するPeopleアプリに似たものを作成しようとしています。
これは私が今していることです:
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.valueOf(id));
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(context.getContentResolver(), uri);
Bitmap bm = BitmapFactory.decodeStream(input);
Drawable d = new BitmapDrawable(bm);
button.setBackgroundDrawable(drawable);
これは機能しますが、使用するURIはサムネイル画像を取得するため、大きな写真がある場合でも、imageViewに合わせて拡大縮小すると非常に見栄えが悪くなります。私は実際に大きな写真を取得するURIを取得する別の方法を知っています:
final Uri imageUri = Uri.parse(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.PHOTO_URI)));
しかし、私はそれをimageViewに到達させることができませんでした。おそらく、上記のコードは2番目のURIを使用するように適合させることができます。2番目のURIの使用方法を知っている場合、またはURIを使用するよりも簡単に連絡先画像を取得する方法がある場合は、教えてください。どんな情報でも感謝されます。