【发布时间】:2013-05-30 19:58:45
【问题描述】:
我目前有一个从服务器下载文件的应用程序,默认情况下它们存储在 /storage/emulated/0/ 下。我进行了设置,以便他们下载到一个名为“数据”的文件夹。文件成功下载并解压缩到 /storage/emulated/0/data/unzipped ,但是,当我尝试将存储在 data 文件夹下的 html 文件加载到 webview 中时,我收到一条错误消息,指出该文件不能成立。我使用 Astro 文件管理器仔细检查了 html 文件的文件路径,并能够验证我有正确的文件路径。这是我用来将 html 文件加载到 webview 中的语句。
wb.loadUrl(Environment.getExternalStorageDirectory()
+ "/data/unzipped/output.html");
我已经尝试过使用和不使用 .html 扩展名,但仍然没有运气。有任何想法吗?访问模拟存储是否有限制?
【问题讨论】:
-
Environment.getExternalStorageDirectory() 转换为 /mnt/sdcard
-
当我使用 Log.d("path", Environment.getExternalStorageDirectory()) 记录路径时,它给了我 /storage/emulated/0。
-
我们可以从 LogCat 中看到错误吗?
-
我没有在 logcat 中看到一个错误,除了一个可能相关的错误,它说“没有找到用于权限撤销的内容提供者:file:///data/local/tmp/Intercept.apk” . webview 说网页不可用。 /storage/emulated/0/data/unzipped/output.html 处的网页可能暂时关闭,或者它可能已永久移动到新网址。
-
您的清单中有 READ_EXTERNAL_STORAGE 权限吗?