Как открыть веб-браузер в приложении WebView при нажатии на внешнюю ссылку? - PullRequest
0 голосов
/ 11 мая 2018

Я хочу открывать внешние ссылки в веб-браузере, используя намерение, и не должен открываться в моем приложении WebView, за исключением того, что мои внутренние ссылки начинаются с "https://www.ecommerce.in/"
Я написал код, указанный ниже:

@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 открывается та же внешняя ссылка.

Пожалуйста, дайте мне знать, где я делаю неправильно.Заранее спасибо.

1 Ответ

0 голосов
/ 11 мая 2018

Вы должны удалить 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;
         }
 }
...