私のアプリでは、電話帳の連絡先画像の画像を取得してリストに表示しようとしています。以下は私のコードです
public InputStream getContactPhoto(Context context, String profileId){
try{
ContentResolver cr = context.getContentResolver();
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(profileId));
return ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
}catch(Exception e){
return null;
}
}
private Bitmap loadContactPhoto(ContentResolver cr, long id) {
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
if (input == null) {
return null;
}
return BitmapFactory.decodeStream(input);
}
動作しますが、どういうわけかスムーズではないので、asynctaskを使用して画像の取得を実装したい上記のコードを使用して実装する方法に関する提案