在其他浏览器android Webview中打开其他链接

时间:2017-08-22 16:51:22

标签: android webview android-webview

我在尝试覆盖时遇到问题 我在webviewclient中使用了这段代码

 mywebview.setWebViewClient(new WebViewClient(){

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (Uri.parse(url).getHost().contains("google") || Uri.parse(url).getHost().contains("goo.gl") ) {
                return false;
            }


            Intent  intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
            startActivity(intent);
            finish();
            return true ;
        }

    });    

然后在webview本身打开包含上述字符串的链接,但其他链接如facebook和所有链接都无法在外部浏览器中打开,而Youtube链接在Youtube应用程序中打开。 以及如何在Facebook应用程序或原生应用程序中的市场链接中打开Facebook链接。

1 个答案:

答案 0 :(得分:0)

我认为您需要的是 Chrome自定义标签

以下是创建的提示。

1.add 依赖

dependencies {
    ...
    compile 'com.android.support:customtabs:23.4.0'
}
  1. 创建并加载您的网址
  2. Uri uri = Uri.parse("https://example.com");

    CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
    
    // Begin customizing
    // set toolbar colors
    intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
    intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark));
    
    // set start and exit animations
    intentBuilder.setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left);
    intentBuilder.setExitAnimations(this, android.R.anim.slide_in_left,
            android.R.anim.slide_out_right);
    
    // build custom tabs intent
    CustomTabsIntent customTabsIntent = intentBuilder.build();
    
    // launch the url
    customTabsIntent.launchUrl(activity, uri);
    

    有关详细信息,请参阅Here