Forçando abertura de links de um WebView dentro do próprio WebView Android Studio

Pode acontecer de durante o seu desnevolvimento Android optar pela utilização de um WebView.

Talvez surja o seguinte problema ao utilizá-lo:

Seu WebView carrega inicialmente uma página html através do seguinte comando:

WebView wv = new WebView(this); //(WebView) findViewById(R.id.webView1);

WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true); //habilita os arquivos javascript
ws.setSupportZoom(false); //desabilita o zoom

wv.loadUrl("https://www.empresa.live/"); //carrega nosso site no webView

E ao clicar dentro de um link do site que foi carregado pelo WebView, o mesmo solicita permissão para abrir o link pelo navegador do dispositivo, ao invés de abrir o link dentro do próprio webView.

Veja abaixo uma solução para o problema:

Defina um WebViewClient para seu WebView para que ele controle as URLs:

wv.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false;
    }
});

Compartilhe!

Deixe um comentário