Если я не ошибаюсь, следующее неверно:
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.sitemercado.com.br/valida")) {
return true;
}
String valida = "https://www.sitemercado.com.br/valida";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(valida));
startActivity(i);
Toast.makeText(getApplicationContext(), "1Detectou", Toast.LENGTH_SHORT).show();
return false;
}
});
Вы получаете хост URL, а затем сравниваете его с полным URL.Это никогда не будет равным.
Тогда вы запускаете ссылку, только если это утверждение ложно?Это перевернуто, поскольку вы говорите в своем вопросе, что хотите, чтобы он запускался в браузере, только если URL-адрес /valida
.В зависимости от того, какой URL вы пытаетесь загрузить, Android запустит браузер, указывающий на /valida
.
Попробуйте вместо этого:
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getPath().contains("valida")) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
Toast.makeText(getApplicationContext(), "1Detectou", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});