2017-09-11 82 views
0

我一直在嘗試使用ACTION_SEND_MULTIPLE Intent分享一些圖片到Facebook。分享到Facebook與ACTION_SEND_MULTIPLE

我爲此編寫的代碼是。

ArrayList<Uri> imageUris = new ArrayList<Uri>(); 
    for (DeviceImage image : catchImagesURI) { 
     Log.d(TAG, "onClickShareFB: image uri " + image.getImageURI()); 
     imageUris.add(image.getImageURI()); 
    } 
    Intent shareIntent = new Intent(); 
    shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); 
    shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris); 
    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
    shareIntent.setType("image/png"); 
    startActivity(Intent.createChooser(shareIntent, "Share images to..")); 
} 

其中圖像的URI是/storage/emulated/0/DCIM/Screenshot_1497529599.png/storage/emulated/0/DCIM/calendar.png

當我從選項中選擇Facebook的我得到

enter image description here

有什麼不對的圖片URI格式還是我這樣做完全錯了?

+0

你是否添加了讀寫外部存儲器的權限 –

+0

這就是我認爲是錯的,但當我添加權限沒有任何改變 – pavlos

回答

0

有什麼不對的圖片URI

的格式它們是無效Uri值。 A Uri有一個計劃。例如,https://stackoverflow.com/questions/46152988/sharing-to-facebook-with-action-send-multipleUri,其方案爲https。鑑於您使用的路徑,推測該方案應該是file

Facebook是否可以使用fileUri指向外部存儲的值是一個單獨的問題。可能它可以。