Я пытаюсь создать приложение, которое обнаруживает движение и снимает изображение при обнаружении движения. Его сохранение изображения, когда я не пытаюсь сохранить его в каталоге (папке). Но когда я пытаюсь использовать его в каталоге, изображение не сохраняется, даже если каталог создается успешно. Какие изменения нужно внести в следующий код, чтобы сделать его работу:Изображения не сохраняются в приложении моей камеры
private void createDirectoryAndSaveFile(String name, Bitmap bitmap) {
File folder = new File(Environment.getExternalStorageDirectory() +
File.separator + "XYX APP");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdirs();
}
if (success) {
// Do something on success
} else {
// Do something else on failure
}
File photo = new File(new File(Environment.getExternalStorageDirectory()+"XYZ APP/"), name+ ".jpg");
if (photo.exists()) {
photo.delete();
}
try {
FileOutputStream out = new FileOutputStream(photo.getPath());
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Примечание: Имя файла генерируется в следующей инструкции:
String name = "MotDet_"+String.valueOf(System.currentTimeMillis());
if (bitmap != null) createDirectoryAndSaveFile(name, bitmap);
Update It работает со следующим кодом, но не с указанным выше кодом:
private void save(String name, Bitmap bitmap) {
File photo = new File(Environment.getExternalStorageDirectory(), name + ".jpg");
if (photo.exists()) photo.delete();
try {
FileOutputStream fos = new FileOutputStream(photo.getPath());
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.close();
} catch (java.io.IOException e) {
Log.e("PictureDemo", "Exception in photoCallback", e);
}
}
Вы тестируете в маршмелло? – Jayanth
@Jayanth Да на s7 edge –
@Jayanth Вы видели мой обновленный вопрос? Он работает с этим кодом, но не при попытке сделать каталог –