2

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% の品質で取得するにはどうすればよいですか?

4

1 に答える 1