请告诉我如何分享 webview 的内容。我已经使用myjavascriptinterface类进行注册,但我没有存储 webview 的内容。请正确指导,以便我可以正确理解我的 javascriptinterface 类的用法。
2 回答
目前尚不清楚您想具体分享什么。以下是常见的注意事项。
在最简单的情况下,您可以只共享一个 URL。您可以通过webview.getUrl()
方法获得它。
如果您想共享整个文档,那么下一个问题是您希望共享哪些设备。如果都是关于 Android 的,那么您可以使用webview.saveWebArchive()
方法来获取一个准备好发送到另一个 Android 设备的 XML 文件(该文件包含具有所有资源的文档内容)。
如果您想在任意平台上共享文档,您可以自己访问 html-code。例如,captureWebDocument(text)
在您的 Java 接口中定义一个方法,在 webview 中为 JavaScript 扩展注册。然后子类WebViewClient
和覆盖onPageFinished()
方法 - 一个例子可以在这里找到。
在您应该执行的方法中:
webview.loadUrl("javascript:injectedJS.captureWebDocument(document.documentElement.innerHTML)");
因此,您将获得 Java 类中的文档内容,并且可以继续以任何合适的方式共享它。提取任何包含的资源(例如图像)将需要更多编码。
另一种可能性是在注入的 JavaScript 中执行所有共享功能(包括将数据上传到服务器,如果需要)。
您好,如果您的意思是 Contents HTML 代码,我建议您使用 Jsoup 库,它的语法非常简单:
Document document = JSoup.connect("http://example.com").get();
当你调用它时: String html = document.getHtml(); 它返回文档的 html 字符串。