[英]Android how to create a folder on sd-card?
在我的StartActivity上,我想在SD卡上为该应用程序创建一个文件夹。 现在首先我像这样在manifest.xml中设置权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
比我像这样在StartActivity的onCreate
方法上编写一些代码
//Creat an AppFolder
String appPathString = Environment.getExternalStorageDirectory().getPath() + "/MyIdea";
try {
File appPath = new File(appPathString);
if (!appPath.exists()) {
appPath.mkdirs();
Toast.makeText(getApplicationContext(), "Folder created", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Log.e("saveToExternalStorage()", e.getMessage());
}
现在,我在Nexus 5上运行了该应用程序,该应用程序启动并显示了吐司。 但是,如果我继续使用自己的设备,则找不到该名称所创建的任何文件夹。 怎么了 ?
试试这个代码。 这个对我有用 。 您需要指向存储的AbsolutePath
String state;
state = Environment.getExternalStorageState();
if ((Environment.MEDIA_MOUNTED).equals(state)) {
File root = Environment.getExternalStorageDirectory();
File Dir = new File(root.getAbsolutePath() + "/My Ideas");
if (!Dir.exists()) {
Dir.mkdir();
}
我只是想知道,(我知道,我们什么都不写),但是请尝试调用appPath.flush();。 和appPath.close();
当我添加WRITE权限时,我还要添加READ,以确保!
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
经过短暂搜索,我发现我需要android sdk 23的特殊使用权限。因此,我更改了android
<uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="23" />
现在可以正常使用了。 谢谢大家的支持!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.