我试图将数据存储在SD卡上,根据指南here我应该使用getExternalFilesDir()
(API 8级),我真的想这样做,但呼吁
File directory = context.getExternalFilesDir(null);
保持回国null
,我使用我的主要活动作为上下文。
然后我试图恢复使用File dir = Environment.getExternalStorageDirectory();
,它正确返回SD根,但显然我无法创建提示“/安卓/数据/包名/文件/”目录:Android的外部数据存储的问题
File root = Environment.getExternalStorageDirectory();
File dir = new File(root, GlobalConstants.EXTERNAL_SAVE_DIR);
boolean canCreate = dir.mkdirs();
在这段代码canCreate
是错误的(EXTERNAL_SAVE_DIR显然是/ Android/data/package_name/files /)。
有什么我失踪了,也许我应该问清单上的权限(我什么也没找到)?我已阅读getExternalFilesDir()
有一个内容在应用程序更新时被删除的错误,我并不在意这一点,我宁愿使用它而不是另一个,因为我试图符合API 8,我喜欢这个想法它为我处理目录名称。
有什么想法?
该死的,我不知道我是怎么错过的,我查过了! – capitano666 2011-03-26 20:13:01
还值得一提的是,这些文件不是在编写时自动创建的,而是必须使用'file.createNewFile()' – capitano666 2011-03-26 20:41:29
我不明白为什么文档没有在数据存储部分提及此权限。 +1它解决了我的问题。 – Emerald214 2011-06-16 03:58:31