启动系统浏览器时webview.loadDataWithBaseURL()等效?

时间:2014-03-23 05:51:11

标签: android browser webview android-webview

我正在使用网页浏览器在我的应用中显示网页,但我想从我的应用中启动浏览器。问题是,我在WebView类中使用此方法:

wv.loadDataWithBaseURL("http://somewebsite.com",responseQuery, "text/html", "utf-8", "");

接下来是:

setContentView(wv);

如何使用现有代码从我的应用程序启动浏览器?我不能只使用标准的intent,因为我需要附加所有其他参数,因为它们是必要的(我在这个lol之前做了一些POST请求)。

任何指向相关资源或示例代码的链接都将受到高度赞赏! 谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

AFAIK你想要实现的目标是不可能的。出于安全原因,任何体面的浏览器都应该禁止这样做 - 这意味着任何应用程序都可能诱使用户认为在某个域下加载了任意HTML。这将允许攻击者在受信任的网站域(如用户的银行)下加载恶意HTML。

如果您只想显示某些内容,可以考虑将网站加载为数据网址(data:text/html,),并在内容的标题中设置基本网址(以便CSS等正确解析)。这意味着浏览器会在地址栏中显示整个数据网址。

您似乎正在尝试从WebView中的某个服务器呈现响应 - 您是否可以构造原始查询的URL并将其发送到浏览器?