gpt4 book ai didi

javascript - 在设备的默认浏览器中打开链接。人行横道安卓应用

转载 作者:太空狗 更新时间:2023-10-29 14:53:15 24 4
gpt4 key购买 nike

我正在使用 HTML 和 JavaScript 为 Android 设备创建一个应用程序。我正在使用 Crosswalk (15.44.384.12) 将其 bundle 到 Android 应用程序中,这几乎创建了一个内置网络浏览器的 Android 应用程序来运行我的应用程序。

我在 Android 设备上一切正常,但我很难找到如何使用 JavaScript 在设备的默认浏览器中打开我的应用程序的链接。

如果我使用 window.open(),它只会在我的应用程序中加载,这不是我想要的。

我试过使用 window.open(' http://example.com ', '_blank'),我也试过 '_system',但无济于事。

最佳答案

这里也一样。所有 hrefs 和 window.open 调用都在 WebView 中打开。

我们可以使用在 Cordova 中也可行的解决方法:拦截 native 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);
}
};

然后在您的 Activity 中,您可以将该客户端设置为 XWalk View :

myXWalkWebView.setResourceClient(myResourceClient);

关于javascript - 在设备的默认浏览器中打开链接。人行横道安卓应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com