2016-11-29 63 views
1

我想打開鏈接被點擊或選項卡時,web瀏覽器上的每個鏈接chrome自定義選項卡。如何打開Web瀏覽器上的每個鏈接到Chrome自定義選項卡?

final WebView webView = (WebView) findViewById(R.id.web_view); 
    WebSettings webSettings = webView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient(){ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      webView.loadUrl(uri); 
      return true; 
     } 

     @Override 
     public void onLoadResource(WebView view, String url) { 
      if (url.startsWith(uri)){ 
       webView.loadUrl(uri); 
      }else{ 
       Uri uri = Uri.parse(url); 
       CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); 
       builder.build().launchUrl(MainActivity.this, uri); 
      } 
     } 
    }); 

回答

1

你可以有你的URL重定向在外部Web瀏覽器,如

final WebView webView = (WebView) findViewById(R.id.web_view); 
    WebSettings webSettings = webView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.contains("http")) { // Could be cleverer and use a regex 
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
       mContext.startActivity(intent); 
       return true; 
      } 
      return false; 
     } 

     @Override 
     public void onLoadResource(WebView view, String url) { 
     } 
    }); 
相關問題