Наконец-то я понял, как сохранить фотографию в произвольном месте на съемном носителе в Android с помощью инфраструктуры доступа к хранилищу.
Однако я столкнулся с другой проблемой.
I фотография успешно сохранена в пути, таком как /storage/6265-6530/DCIM/Camera
, но я не вижу фотографию в Галерее. Кроме того, я пытаюсь открыть фотографию через браузер файлов, но не могу открыть ее.
Я подключаю телефон к P C и могу открыть фотографию, сохраненную в P C.
Так как это исправить?
ниже мой код:
DocumentFile pickedDir = DocumentFile.fromTreeUri(reactContext, mUri);
DocumentFile file = pickedDir.createFile("image", "myPhoto.jpg");
InputStream in = new FileInputStream(path);
OutputStream out = getContentResolver().openOutputStream(file.getUri());
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) { //read is successful
out.write(buffer, 0, read);
}
in.close();
out.flush();
out.close();
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,file.getUri()));
Я позвонил sendBroadcast
для сканирования файла, но, тем не менее, галерея не показала мой фото.