我正在使用网页浏览器在我的应用中显示网页,但我想从我的应用中启动浏览器。问题是,我在WebView类中使用此方法:
wv.loadDataWithBaseURL("http://somewebsite.com",responseQuery, "text/html", "utf-8", "");
接下来是:
setContentView(wv);
如何使用现有代码从我的应用程序启动浏览器?我不能只使用标准的intent,因为我需要附加所有其他参数,因为它们是必要的(我在这个lol之前做了一些POST请求)。
任何指向相关资源或示例代码的链接都将受到高度赞赏! 谢谢你的时间。
答案 0 :(得分:1)
AFAIK你想要实现的目标是不可能的。出于安全原因,任何体面的浏览器都应该禁止这样做 - 这意味着任何应用程序都可能诱使用户认为在某个域下加载了任意HTML。这将允许攻击者在受信任的网站域(如用户的银行)下加载恶意HTML。
如果您只想显示某些内容,可以考虑将网站加载为数据网址(data:text/html,
),并在内容的标题中设置基本网址(以便CSS等正确解析)。这意味着浏览器会在地址栏中显示整个数据网址。
您似乎正在尝试从WebView中的某个服务器呈现响应 - 您是否可以构造原始查询的URL并将其发送到浏览器?