2013-06-20 71 views
0

找回原來的圖像。根據其中包含有關聯繫人的照片處理信息(Android 4.0版本)的官方文檔:存儲聯繫人的照片有可能在未來的

大型照片

Android現在支持高分辨率照片的聯繫人。現在,當您將照片推入聯繫人記錄時,系統會將其處理爲 這兩個96x96縮略圖(如以前一樣)以及存儲在新的基於文件的照片存儲庫中的256x256「顯示器 照片」未來系統選擇的尺寸可能會有所不同)。您可以通過在數據行的常規 PHOTO列中放入一張大照片給聯繫人添加一張大照片給聯繫人,系統然後將該照片處理成 合適的縮略圖並顯示照片記錄。

所以,我想知道如果我存儲的照片與400x400 px大小,是否有可能檢索這些照片與它的原始大小,還是我要很高興只具有體積縮小照片?

回答

1

試試這個例子:

public void writeDisplayPhoto(long rawContactId, byte[] photo) { 
    Uri rawContactPhotoUri = Uri.withAppendedPath(
      ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId), 
      RawContacts.DisplayPhoto.CONTENT_DIRECTORY 
    ); 

    try { 
     AssetFileDescriptor fd = getContentResolver().openAssetFileDescriptor(
      rawContactPhotoUri, 
      "rw" 
     ); 

     OutputStream os = fd.createOutputStream(); 
     os.write(photo); 

     os.close(); 
     fd.close(); 
    } catch (IOException e) { 
     // Handle error cases. 
    } 
    } 

使用文件描述符可以讀/寫聯繫人照片。此外,我認爲你需要你的照片的商店縮略圖聯繫

For more info see ContactsContract.RawContacts.DisplayPhoto class

0

簡單的解決方案:

  • 登錄到您的Gmail帳戶從任何一臺PC,然後搜索「聯繫人」
  • 從內聯繫人頁面:輸入要搜索的聯繫人姓名
  • 點擊想要聯繫的人&選擇「保存圖像...」

注意:我不知道手機內是否有更高質量的版本,但我仍在處理它。