Android SDK Webview加载不在资产文件夹中的本地文件

Posted

技术标签:

【中文标题】Android SDK Webview加载不在资产文件夹中的本地文件【英文标题】:Android SDK Webview load local files not in assets folder 【发布时间】:2014-01-21 02:53:29 【问题描述】:

我正在尝试将本地 url 加载到 webview 中,但我不想使用 assets 文件夹,因为这是只读的,我需要从 web 服务更新文件。

网络服务调用工作正常,并使用

html 文件存放到设备上的文件夹中
File liveFolder = context.getDir("Live", Context.MODE_PRIVATE);

这会在应用程序的存储空间中创建一个文件夹“app_Live”并用 html 填充它。

现在,当我将其加载到我的 Webview 中时,应用程序显示“网站不可用”,即使 liveFolder.isDir() 返回 true。

此外,在“网站不可用”页面上,它会将尝试的 URL 列为:

/data/data/****MY PACKAGE NAME****/app_Live/buyers_guide/page1/index.html,

完全正确且文件存在,使用 ADT 上的 DDMS 检查。

我已经通过从 android_asset 文件夹加载资产来运行应用程序,但这对我没有好处,因为我需要能够更新媒体。

应该可以吧?

请帮忙

【问题讨论】:

【参考方案1】:

尝试添加这个:

 filepath = yourfilepath;
 webview.loadUrl("file://"+filepath);

【讨论】:

以上是关于Android SDK Webview加载不在资产文件夹中的本地文件的主要内容,如果未能解决你的问题,请参考以下文章

从 Android 动态功能模块将资产加载到 WebView

来自资产的 Android WebView JavaScript

自 Android 11 (SDK30) 以来,我无法将 HTML 文件从应用程序特定存储加载到 WebView

Android webview,在资产文件夹中加载javascript文件

Weex Android SDK源码分析之Module(webview)

Android Webview 页面加载事件