Когда я пытаюсь сохранить изображение на некоторых устройствах, приложение вылетает. После некоторого исследования я думаю, что проблема в ImageRoot, но я потерял столько решений ... Я думаю, что проблема заключается в получении внешнего пути хранения. Устройство, которое я использую для тестирования моего приложения, не имеет никакой SD-карты, путь /mnt/sdcard/Pictures
и изображение успешно сохраняется. Я хочу, чтобы это работало, имеет ли телефон SD-карту или нет. Спасибо за любую помощь заранее.Android: лучший способ сохранить изображение на внешнем носителе
imageRoot=new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "AppName");
private void saveImage() {
Bitmap bitmap = sqimage.getDrawingCache();
File image = new File(imageRoot, imageName);
if (image.exists()) {
image.delete();
}
try {
FileOutputStream output = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
output.flush();
output.close();
new SingleMediaFileConnector(getActivity().getApplicationContext(), image);
} catch (FileNotFoundException e) {
e.printStackTrace();
success = false;
} catch (IOException e) {
e.printStackTrace();
success = false;
}
}
журналы LogCat, пожалуйста –
я не журналы, когда приложение падает, потому что это не мое устройство и приложение является установленный с .apk без андроидной студии. –
Вы можете получить журналы с помощью команды adb. Используйте 'abd logcat -d> FileName.txt', чтобы выталкивать журналы сбоя в txt-файл –