【发布时间】:2015-06-30 11:22:59
【问题描述】:
我正在尝试在 Android Lollipop 浏览器中加载本地网页:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("file:///android_asset/my_page.html"));
startActivity(i);
很遗憾,我发现该页面无法找到。后来发现默认浏览器只支持HTTP和HTTPS请求。
这是否意味着我必须在用户手机上启动本地网络服务器才能通过网络意图加载 my_page.html? :/ 这样的本地服务器exist at least,但对我来说似乎太重了。
我不能使用网络视图,因为网络视图不允许用户下载我的应用所依赖的 object URLs(我尝试编写使用 DownloadManager 的 DownloadListener 无济于事。)。
我可以简单地将静态页面托管在远程服务器上,但是我的应用程序将无法离线使用......除非我使用App Cache。但是,使用 App Cache 不是最理想的,因为用户第一次使用应用程序最好是在他/她在线时......否则,第一次加载会失败。
关于如何通过网络意图打开本地资产页面的任何想法?
【问题讨论】:
-
Open Local Html File in Webview - Android 的可能重复项没有看到您不能使用 webview。所以它不是重复的。
-
您可以将文件从资产复制到存储中,然后从那里作为实例打开它。您也可以使用 WebView 而不是使用外部浏览器
-
安装更多浏览器。 Dolphin、Firefox 和 Opera 将处理它们。或者使用 NanoHttpd 为所有浏览器(包括 Chrome 和默认浏览器)提供您的页面。