Когда я выбираю изображение из галереи, я могу получить Uri для этого изображения, как показано ниже:Получение Uri файла сохраненного изображения
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
if (requestCode == Crop.REQUEST_PICK && resultCode == RESULT_OK) {
Uri uri = result.getData();
beginCrop(uri);
} else if (requestCode == Crop.REQUEST_CROP) {
handleCrop(resultCode, result);
}
}
Формат Ури извлекаться выше содержание: // средства массовой информации/внешние/изображения/СМИ/7266
Однако я не смог загрузить Ури в этом формате, когда я пытаюсь принести Uri образа Я просто сохранить в виде файла:
Date d = new Date();
CharSequence s = DateFormat.format("MM-dd-yy hh-mm-ss", d.getTime());
Bitmap bitmap = drawView.getResultBitmap();
File sdCardDirectory = Environment.getExternalStorageDirectory();
File image = new File(sdCardDirectory, "DCIM/Camera/" + s.toString() + ".png");
boolean success = false;
// Encode the file as a PNG image.
FileOutputStream outStream;
try {
outStream = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
/* 100 to keep full quality of the image */
outStream.flush();
outStream.close();
success = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (success) {
MediaScannerConnection.scanFile(getActivity(), new String[]{
image.getAbsolutePath()},
null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
Uri uri = Uri.parse(image.getAbsolutePath());
beginCrop(uri);
Ури, полученный из выше кода /хранение/эмулировать/0/DCIM/Camera/02-04-16 12-49-16.png
Я считаю, что это не правильный формат Uri, а не просто абсолютный путь к файлу. Есть ли выход, с помощью которого я могу получить Uri в формате : // media/external/images/media/?
Любая помощь очень ценится
Спасибо, CommonsWare за правильное руководство. – user264953