Evitar abrir navegador al usar WebView

  • Autor Autor AlexxxBcN
  • Fecha de inicio Fecha de inicio
A

AlexxxBcN

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola , estaba mirando la forma de hacer un webview , partiendo de un proyecto , el apk se crea bien y se instala bien
El problema biene cuando se abre la App , me pide accion y se me abren los navegadores a elegir si le doy a cancelar permanece bien , me gustaria desactivar que no pida navegador


Y está solucionado , edite algunas cosas , y ahora ya no me pide ningun navegador .

Lo que los botones whatsapp antes funcionaban y ahora ya no funciona , pero todo lo demas correcto


Code

Insertar CODE, HTML o PHP:
 import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.codepunker.codePunkerWebViewC;
import android.net.Uri;
import android.graphics.Bitmap;
import android.widget.ProgressBar;

public class Index extends Activity 
{
  private WebView codePunkerWebView;
  private ProgressBar progressBar;

     [MENTION=42437]over[/MENTION]ride
  public boolean onKeyDown(int keyCode, KeyEvent event)
  {
      if ((keyCode == KeyEvent.KEYCODE_BACK) && codePunkerWebView.canGoBack()) 
      {
    	codePunkerWebView.goBack();
        return true;
      }
      return super.onKeyDown(keyCode, event);
  }

  @SuppressLint("SetJavaScriptEnabled") //remove the stupid warning
     [MENTION=42437]over[/MENTION]ride
  protected void onCreate(Bundle savedInstanceState) 
  {
	super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_index);

    codePunkerWebView = (WebView) findViewById(R.id.webview);
    progressBar = (ProgressBar) findViewById(R.id.progressBar1);

    WebViewClient client = new codePunkerWebViewC() 
    {

    	    [MENTION=42437]over[/MENTION]ride
    	        public void launchExternalBrowser(String url) 
    	
    	
    	
        {
          Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://web.com"));
          startActivity(intent);
        }
      
           [MENTION=42437]over[/MENTION]ride
        public void onPageStarted(WebView codePunkerWebView, String url, Bitmap favicon)
        {
          super.onPageStarted(codePunkerWebView, url, favicon);
        }

           [MENTION=42437]over[/MENTION]ride
        public void onPageFinished(WebView codePunkerWebView, String url)
        {
          super.onPageFinished(codePunkerWebView, url);
          progressBar.setVisibility(View.GONE);
        }
    };
    
    codePunkerWebView.setWebViewClient(client);
    codePunkerWebView.getSettings().setJavaScriptEnabled(true);
    codePunkerWebView.getSettings().setUserAgentString("web/1.0 ([url]http://visit.com;[/url] by ...)");
    codePunkerWebView.loadUrl("http://web.com");
  }
}


Insertar CODE, HTML o PHP:
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.net.Uri;

public abstract class codePunkerWebViewC extends WebViewClient 
{
       [MENTION=42437]over[/MENTION]ride
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    {
        if (Uri.parse(url).getHost().equals("http://web.com")) 
            return false;
        
        launchExternalBrowser(url);            
        return false;
    }
    
    public abstract void launchExternalBrowser(String url);
}

Arreglado editando esto
Insertar CODE, HTML o PHP:
 if (Uri.parse(url).getHost().equals("http://web.com")) 
            return false;
        
        launchExternalBrowser(url);            
        return false;
    }
    
    public abstract void launchExternalBrowser(String url);

	public void launchExternalBrowser() {
		// TODO Auto-generated method stub
		
	}
}

y esto:
Insertar CODE, HTML o PHP:
  [MENTION=42437]over[/MENTION]ride
        public void launchExternalBrowser()
 
Última edición:
veamos...segun lo que entendi y tu code...solo saca: launchExternalBrowser(url);
 
veamos...segun lo que entendi y tu code...solo saca: launchExternalBrowser(url);

Tengo mas codigo , puse solo una parte donde sale esto , pensando que con esta info sería suficiente

Al abrir la appwebview se abre y me pide los navegadores , pero si le doy a cancelar se queda abierta mostrando la url en webview , pero al interactuar en el webview dando click en enaces etc etc me pide navegador , si cancelo se abre en el webview , pero el tema es que no salte el mensaje para abrirlo en navegador o navegadores instalados
 
Tengo mas codigo , puse solo una parte donde sale esto , pensando que con esta info sería suficiente

Al abrir la appwebview se abre y me pide los navegadores , pero si le doy a cancelar se queda abierta mostrando la url en webview , pero al interactuar en el webview dando click en enaces etc etc me pide navegador , si cancelo se abre en el webview , pero el tema es que no salte el mensaje para abrirlo en navegador o navegadores instalados

es raro... mirate mis tutoriales de webview en el foro y fijate que tienes de mas... (aparte de esa funcion de ejecutar un nuevo navegador)
 
Gracias , me guardaré tus tutoriales y ayudas !!!
 
Última edición:
Atrás
Arriba