我有一个android应用程序,计划从给定的urls下载图片。我希望创建一个以输入命名的目录,其中包含多个文件(.jpg)。文件的URL来自ArrayList。
在添加文件之前,我希望为我的应用程序创建一个基本目录,如下所示:
String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myApp";
File dir = new File(file_path);
if(!dir.exists())
dir.mkdirs();
Log.i("Test","Directory created: "+dir.exists());
File file = new File(dir, "test.jpg");
FileOutputStream fOut = new FileOutputStream(file);
// image is the Bitmap created from one URL
image.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
fOut.flush();
fOut.close();我还将权限添加到清单文件中:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application [...]我自己的日志给出了输出"Directory created: false",我得到了以下错误:
/storage/emulated/0/myApp/test.jpg: open failed: ENOENT (No such file or directory)除了权限之外,这里还有什么问题?我正在测试nexus 5,Android6.0.1
发布于 2016-03-16 13:30:20
在安卓6上,你必须使用在运行时请求权限。仅仅在“宣言”上宣布他们是不够的。
https://stackoverflow.com/questions/36037061
复制相似问题