FileInputStream
ユーザーが画像ギャラリーから選択した画像上のオブジェクトを取得しようとしています。URI
これはによって返されるアンドロイドですandroid.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
content://media/external/images/media/3
このオブジェクトからJavaURIオブジェクトを作成しようとするIllegalArgumentException
と、例外の説明が表示されますURIの期待されるファイルスキーム:content:// media / external / images / media / 3一方、androidURIはスキームをコンテンツとして表示します
更新:元の質問の解決策が見つかりませんでした。ただし、画像ギャラリーに画像のバイトストリームが必要な場合は、このコードでそれを実行できます。
Bitmap bitmap = Media.getBitmap(getContentResolver(), imageUri);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
ByteArrayInputStream fileInputStream = new ByteArrayInputStream(bytes.toByteArray());