mercredi 22 novembre 2017

WEBVIEW IF ABRIENDO NAVEGADOR EXTERNO. COMO ARREGLAR?

Buenas tardes,

El caso es que mi app es una webview.

He creado un "if" para que si es un archivo .pdf o una dirección /dowload (porque los users almacenan los pdf en el servidor y todos terminan con esa url) lo descargue o abra.

Cuando es un .pdf (funciona genial) El problema es que cuando es un "dowload" me abre google chrome (y me toca volverme a autenticar) y yo quiero que se haga con el mismo navegador de android (para que simule ser la msima app y no tener que autenticarme de nuevo). (ya tengo puesto view.loadUrl(url);)

No se si me explico, pego el código (activity_Main.java), desde la parte del if.

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
        String cleanUrl = url;
        if (url.contains("?")) {
            // remove the query string
            cleanUrl = url.substring(0,url.indexOf("?"));
        }

        if ((cleanUrl.endsWith("download"))|| (cleanUrl.endsWith(".pdf"))){

            try {
                Uri uriUrl = Uri.parse(cleanUrl);
                Intent intentUrl = new Intent(Intent.ACTION_VIEW, uriUrl);
                startActivity(intentUrl);
                return true;

            } catch (Exception e) {
                System.out.println(e);
                Toast.makeText(context,"No PDF Viewer Installed", Toast.LENGTH_LONG).show();
            }
        }

        return false;
    }
}

}

Aucun commentaire:

Enregistrer un commentaire