我正在使用 HTML 和 JavaScript 创建适用于 Android 设备的应用程序。我正在使用 Crosswalk (15.44.384.12) 将其捆绑到 Android 应用程序中,这几乎创建了一个内置 Web 浏览器的 Android 应用程序来运行我的应用程序。
我在 Android 设备上一切正常,但我很难找到如何使用 JavaScript 在设备的默认浏览器中打开我的应用程序的链接。
如果我使用 window.open(),它只会在我的应用程序中加载,这不是我想要的。
我尝试过使用 window.open('http://example.com http://example.com', '_blank'),我也尝试过 '_system',但没有成功。
同样在这里。所有 href 和 window.open 调用都在 WebView 中打开。
我们可以使用 Cordova 中也可以使用的解决方法:拦截本机 Java 代码中的 URL。
首先创建一个自定义的 XWalkResourceClient 来根据您的需要拦截您的 url:
XWalkResourceClient myResourceClient = new XWalkResourceClient(xWalkWebView){
...
@Override
public boolean shouldOverrideUrlLoading(XWalkView view, String url) {
if(url.contains("whatever")){
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
};
然后在您的活动中,您可以将该客户端设置为 XWalk 视图:
myXWalkWebView.setResourceClient(myResourceClient);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)