打开设备中的链接'的默认浏览器.Crosswalk android应用程序

Open link in device's default browser. Crosswalk android application

本文关键字:默认浏览器 Crosswalk 应用程序 android 链接      更新时间:2023-09-26

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

我在安卓设备上可以使用所有功能,但我很难找到如何使用JavaScript在设备的默认浏览器中打开应用程序中的链接。

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

我试过用window.openhttp://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);