我正在使用一种方法在活动的onCreate中使用mkdirs创建目录结构。虽然它返回true并且所有的indiactions都应该工作,但仍然没有在SD卡上创建(或者可能不可见)目录。可能是什么问题?
更新: 1.我给了android.permission.WRITE_EXTERNAL_STORAGE 2.如果从onCreate之外的任何其他地方调用,该方法工作正常,即创建目录结构。
public static void createNoMediaFile() {
Log.v("myreader",">>>>>>>>>>>>>>> Entered createNoMediaFile");
File papermag=new File(DigitalEditionConstant.PAPERMAG_PATH);
boolean isdircreated=papermag.mkdirs();
Log.v("myreader",">>>>>>>>>>>>>>>>Directory setup: "+isdircreated);
File noMediaFile=new File(DigitalEditionConstant.DIR_PATH+".nomedia");
if(!noMediaFile.exists()){
try {
noMediaFile.createNewFile();
Log.v("myreader",">>>>>>>>>>>>>>>>>>> Created File: "+noMediaFile.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
目录路径等都已经过检查,确定无误。从我项目中的活动的onCreate调用此方法
答案 0 :(得分:0)
您是否在清单文件中添加了WRITE_EXTERNAL_STORAGE的权限?见here
答案 1 :(得分:0)
这里是简单的代码
File wallpaperDirectory = new File(Environment.getExternalStorageDirectory().toString()+"/FolderName");
wallpaperDirectory.mkdirs();
在您的清单中添加此权限...
WRITE_EXTERNAL_STORAGE
的许可
答案 2 :(得分:0)
dir的名字是以句点开头的吗? DDMS和大多数文件管理器应用程序都不会显示那些dirs ..但它们就在那里。
您是否添加了清单权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
将设备安装为USB将阻止从代码访问SD。
答案 3 :(得分:0)
使用“adb push”命令检查您是否可以将目录复制到SD卡(以确定SD卡没有问题)