Android フォンの連絡先画像を取得し、以下のように arraylist に保存しました。
id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String photoWhere = ContactsContract.Data.CONTACT_ID + " = ? AND " +ContactsContract.Data.MIMETYPE + " = ?";
String[] photoParams = new String[] {id,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE};
Cursor photoCursor = contentResolver.query(ContactsContract.Data.CONTENT_URI, null, photoWhere, photoParams, null);
if(photoCursor!=null && photoCursor.getCount()>0)
{
while(photoCursor.moveToNext())
{
byte[] contactPhoto = photoCursor.getBlob(photoCursor.getColumnIndex(ContactsContract.CommonDataKinds.Photo.PHOTO));
if(contactPhoto!=null)
{
mContactImage="data:image/jpeg;base64," + Base64.encodeToString(contactPhoto, Base64.NO_WRAP);
sContactImageArray.add(mContactImage);
}
}
}
photoCursor.close();
次に、この base64 文字列を JavaScript に渡し、画像として表示しました。しかし、画像の解像度は悪いです。これは、電話の連絡先に保存されている画像とは異なります。連絡先の画像を 100% の品質で取得するにはどうすればよいですか?