我想在SD卡中创建一个目录,我按照以下步骤进行:
- 我在清单文件中添加了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
。 - 通过
public static final String ROOT_PATH = Environment.getExternalStorageDirectory().toString() + "/Hello_World/";
获取根路径,它返回/storage/emulated/0/Hello_World
(在调试时获取)。
接下来,我运行了这段代码:
File file = new File(Constants.ROOT_PATH);
int i = 0;
while (!file.isDirectory() && !file.mkdirs()) {
file.mkdirs();
Log.e("mkdirs", "" + i++);
}
我也尝试了
mkdirs()
和mkdir()
,但在logcat中显示无限循环(Log.e("mkdirs", "" + i++);
)。有时它可以工作,但有时却不行。
感谢您的帮助!
更新
:我已经在一些设备上尝试了我的代码:Nexus4、nexus7、Vega Iron、Genymotion、LG G Pro,只有Vega Iron能按预期工作。??!!?!?
Log.e("mkdirs", "" + i++);
命令引起的。@Hoan Nguyen:我之前尝试过清除数据、重新安装应用程序、更换设备(nexus4、nexus7、vega iron、genymotion),但仍然无法解决问题 :( - Justin