异常保存文件-Android棉花糖
我正在从URL下载图像,并试图通过通知按钮共享它。异常保存文件-Android棉花糖,android,exception,android-6.0-marshmallow,android-permissions,fileoutputstream,Android,Exception,Android 6.0 Marshmallow,Android Permissions,Fileoutputstream,我正在从URL下载图像,并试图通过通知按钮共享它。 我在清单中设置了读写权限,并检查了棉花糖设备。我接受存储权限,但无法共享图像,因为它不保存文件。为什么? 我的代码: @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode == REQUEST_CODE)
我在清单中设置了读写权限,并检查了棉花糖设备。我接受存储权限,但无法共享图像,因为它不保存文件。为什么? 我的代码:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CODE) {
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
String[] splitLink = link.getText().toString().split("/");
String imageName = splitLink[splitLink.length-1];
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), imageName);
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
saveImage.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream);
fileOutputStream.flush(); // Optimizació: per borrar fluxe de bytes de sortida i obligar als que estan en memoria a escriures
fileOutputStream.close();
file.setReadable(true, false); // Per permetre acces de lectura a totes les aplicacions
if (!file.mkdirs()) Log.e("Crear carpeta 3", "No rutlla");
} catch (Exception e) {Log.e("Guardar imatge 3", "No rutlla"); e.printStackTrace();}
}
}
}
例外情况:
E/Guardar imatge 3: No rutlla
System.err:java.io.FileNotFoundException:/storage/emulated/0/Pictures/01.jpg: open failed: ENOENT (No such file or directory)
当前,在你的应用程序中完成授予权限?是的,授予的权限。
我似乎没有访问该目录的权限。
??请解释“似乎”。代码中有一个catch块。但是如果有什么问题,你不能向用户敬酒。你也不会停止代码。您不应该调用这些意图。问题是文件没有创建。