【发布时间】:2014-03-19 03:15:02
【问题描述】:
我想在 SD 卡中创建目录,我确实遵循:
- 我在清单中添加了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />。 - 我通过:
public static final String ROOT_PATH = Environment.getExternalStorageDirectory().toString() + "/Hello_World/";得到 root_path,它返回/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++);) 中显示无限循环。有时它起作用,但有时不起作用。
谢谢你的帮助!
Update:我在一些设备上尝试了我的代码:Nexus4、nexus7、Vega Iron、Genymotion、LG G Pro,然后只是 Vega Iron 按预期工作。 ??!!?!?
【问题讨论】:
-
运行您的代码以将其安装在设备中。现在从计算机上拔下并运行您的应用程序。代替 Log.e 显示敬酒。
-
@HoanNguyen 我试过但没有帮助:(
-
您必须更具体地了解遇到的问题。将这个“logcat 中的无限循环”的示例编辑到您的问题中。
-
使用设备设置清除您的应用数据,然后再次尝试我上面评论的内容。
-
@ChrisStratton 由
Log.e("mkdirs", "" + i++);命令引起。 @Hoan Nguyen:我之前尝试过清理数据、重新安装应用程序、更换设备(nexus4、nexus7、vega Iron、genymotion),但仍然无法正常工作:(