我正在开发代号中的一个应用程序用于查看报告的离线哪来的HTML格式包含在一个单独的文件夹资源。 应用程序会下载HTML和复制资源的文件夹结构,因为它们是在HTML参考。 当我打开报告用普通的浏览器,并指向“/.cn1”文件夹正确加载和显示。 当使用模拟器,HTML装入代号一个Web浏览器对象而被显示(可以看我的报告的标题),它只是Web浏览器没有加载任何资源。 我还设置了基本URL的文件夹。
WebBrowser wbBrowser = (WebBrowser) findByName("WebBrowser", f);
FileSystemStorage fs = FileSystemStorage.getInstance();
wbBrowser.setPage(getTextFromFile(fs.getAppHomePath() + "/Reports/Report_2.html"), fs.getAppHomePath() + "/Reports/Report_2_files_files");
这是我目前使用的代码。 它运行显示报表查看表后。 我已经打开在运行Android Lollipop的默认浏览器和Mozilla Firefox Android应用的报告,并将其与所有图像正确显示网页,其中包括CSS,所以我不知道这是否是一个代号一个安全问题。 任何想法将不胜感激。
编辑:我曾尝试简化应用程序,我只是运行下面的代码;
WebBrowser wbBrowser = (WebBrowser) findByName("WebBrowser", Display.getInstance().getCurrent());
FileSystemStorage fs = FileSystemStorage.getInstance();
fs.mkdir(fs.getAppHomePath() + "[Folder Name]");
Util.downloadUrlToFile("http://[IpAddress]/mobile/admin/Report_2.html", fs.getAppHomePath() + "[Folder Name]/Report_2.html", true);
if (FileSystemStorage.getInstance().exists(fs.getAppHomePath() + "[Folder Name]/Report_2.html") == true) {
wbBrowser.setURL(fs.getAppHomePath() + "[Folder Name]/Report_2.html");
Dialog.show("Success", "File has been downloaded and shown as " + wbBrowser.getTitle(), "Ok", "");
}
else {
Dialog.show("Failiure", "File has not been downloaded", "Ok", "");
}
当运行Android Lollipop的设备上运行时,会显示成功对话框,尽管我在设备上运行搜索时没有找到他们(我不知道在哪里代号为一个存储文件的存储位置)。 没有其他的代码在设备上的任何地方运行,但我有当存储HTML文档自己的设备上,并使用硬编码引用(即成功/Storage/emulated/0/Android/data/Report_2.html
)。 wbBrowser.getTitle()为null /“”当在设备上运行。 虽然当这行代码是别的地方它成为约:页。 Report_2.html的HTML是;
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>