如何从webview分享html内容?

时间:2013-04-16 12:51:31

标签: java android

请告诉我如何分享webview的内容。我已经使用 myjavascriptinterface 类进行注册,但我没有存储webview的内容。请正确引导,以便我能正确理解我的javascriptinterface类的用法。

2 个答案:

答案 0 :(得分:0)

你好,如果你的意思是内容HTML代码,我建议你使用Jsoup库,这是非常简单的语法:

Document document = JSoup.connect("http://example.com").get();

当你调用它时:String html = document.getHtml();它返回文档的html字符串。

答案 1 :(得分:0)

目前尚不清楚您想要分享的具体内容。这是常见的考虑因素。

在大多数情况下,您只能共享一个网址。您可以通过webview.getUrl()方法获取它。

如果您想要整体共享文档,那么下一个问题就是您要分享哪些设备。如果它完全与Android有关,那么您可以使用webview.saveWebArchive()方法将单个XML文件准备好发送到另一个Android设备(该文件包含包含所有资源的文档内容)。

如果您想在任意平台上共享文档,您可以自己访问html代码。例如,在Java界面中定义方法captureWebDocument(text),在webview中注册JavaScript扩展。然后子类WebViewClient并覆盖onPageFinished()方法 - 可以找到一个示例here

在方法中你应该执行:

webview.loadUrl("javascript:injectedJS.captureWebDocument(document.documentElement.innerHTML)");

因此,您将获得Java类中的文档内容,并可以以任何合适的方式继续共享它。提取任何包含的资源(如图像)将需要更多编码。

另一种可能性是在注入的JavaScript中执行所有共享功能(包括将数据上传到服务器,如果需要)。