我试图将数据存储在SD卡上,根据指南在这里,我应该使用getExternalFilesDir()(API等级8),我真的想这样做,但电话
File directory = context.getExternalFilesDir(null);一直回来null,我用我的主要活动为背景.
然后我尝试恢复使用File dir = Environment.getExternalStorageDirectory();,它正确返回SD根,但显然我无法创建建议的"/ Android/data/package_name/files /"目录:
File root = Environment.getExternalStorageDirectory();
File dir = new File(root, GlobalConstants.EXTERNAL_SAVE_DIR);
boolean canCreate = dir.mkdirs();
Run Code Online (Sandbox Code Playgroud)
在此代码中canCreate为false(EXTERNAL_SAVE_DIR显然是/ Android/data/package_name/files /).
有什么我想念的,也许我应该问一下Manifest的权限(我什么都没发现)?我读过getExternalFilesDir()有一个错误,其中的内容在应用程序更新时被删除,我并不真正关心它,我宁愿使用它而不是另一个,因为我试图符合API 8,我喜欢的想法它为我处理目录名称.
任何的想法?
小智 21
您需要将以下内容添加到清单中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
Run Code Online (Sandbox Code Playgroud)
否则,您不能写入SD卡.如果您使用的是Eclipse,则可以使用清单编辑器的权限选项卡进行添加.
| 归档时间: |
|
| 查看次数: |
6829 次 |
| 最近记录: |