Итак, я только что реализовал простое веб-приложение, в котором загружал главную страницу stackoverflow.Раньше все работало нормально, но теперь, когда я нажимаю на какую-то ссылку, она открывается в браузере по умолчанию.Я реализовал и переопределил метод shouldoverrideUrlLoading, создав свой собственный класс webViewClient.Я знаю, что есть разные вопросы, подобные этим, но я пишу этот вопрос только потому, что они не работают для меня.
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(Uri.parse(url).getHost().endsWith(".com"))
return false;
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClient());
final customEditText editText = findViewById(R.id.urlEditText);
Button button = findViewById(R.id.enterButtonId);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
webView.loadUrl("https://"+editText.getText().toString().trim().toLowerCase());
}
});
}