单击外部 link 时如何在 WebView 应用程序中打开网络浏览器?

How to open a web browser in WebView app when an external link is clicked?

我想使用 Intent 在 Web 浏览器中打开外部 links,不应在我的 WebView 应用程序中打开,除非我的内部 links 以“https://www.ecommerce.in/”开头。=19 =] 我编写了如下代码:

@Override
 public boolean shouldOverrideUrlLoading(WebView view, String url) 
 {
  if (!url.contains("https://www.ecommerce.in/")) 
  {
   Uri uri = Uri.parse(url);
   startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Choose browser"));
   view.loadUrl(url);
   CookieManager.getInstance().setAcceptCookie(true);
  } else {
          webViewProduct.loadUrl(url);
          return true;
         }
 }    

这段代码可以正常工作,但问题是当我在网络浏览器上按下后退按钮时,我的 WebView 应用程序正在打开相同的外部 link。

请告诉我哪里做错了。提前致谢。

你应该从你的代码中删除 view.loadUrl(url),所以

请按照下面给出的代码替换您的代码

@Override
 public boolean shouldOverrideUrlLoading(WebView view, String url) 
 {
  if (!url.contains("https://www.ecommerce.in/")) 
  {
   Uri uri = Uri.parse(url);
   startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Choose browser"));

   CookieManager.getInstance().setAcceptCookie(true);
  } else {
          webViewProduct.loadUrl(url);
          return true;
         }
 }