Es imprescindible interpretar el código de forma correcta previamente a adaptarlo a tu proyecto si tquieres aportar algo puedes decirlo en los comentarios.
Solución:
(1) Google Docs Viewer, puede abrirlo en el navegador de Android como,
mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+ webUrl);
Actualizar:
(2) Consulte esta biblioteca, en construir.gradle(módulo de aplicación) agregue esta dependencia,
compile 'com.github.barteksc:android-pdf-viewer:2.8.2'
Lo sé, esta pregunta es vieja.
Pero me gusta mucho el enfoque de Xamarin para hacer uso de pdf.js de Mozilla. Funciona en versiones anteriores de Android, no necesita una aplicación de visor de PDF especial para esto y puede mostrar fácilmente un PDF dentro de la jerarquía de vistas de sus aplicaciones.
Git para esto: https://mozilla.github.io/pdf.js/
Opciones adicionales: https://github.com/mozilla/pdf.js/wiki/Viewer-options
Simplemente agregue los archivos pdfjs a su directorio de Activos:
Y llámalo de la siguiente manera:
// Assuming you got your pdf file:
File file = new File(Environment.getExternalStorageDirectory() + "/test.pdf");
webview = (WebView) findViewById(R.id.webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
settings.setBuiltInZoomControls(true);
webview.setWebChromeClient(new WebChromeClient());
webview.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=" + file.getAbsolutePath());
Cosa chula: Si quieres reducir la cantidad de funcionalidades/controles. Vaya al archivo Assets/pdfjs/web/viewer.html y marque ciertos controles como ocultos. Con
style="display: none;"
Por ejemplo, si no le gusta la barra de herramientas correcta:
Actualización: Esto abrirá la aplicación integrada (Visor de PDF) para mostrar el archivo pdf si OS >= Marshmallow (API 23); de lo contrario, abrirá el navegador para mostrar el pdf usando el servidor “docs.google.com”.
WebView webView = new WebView(this);
String url = "http://www.pdf995.com/samples/pdf.pdf";
// Support all types of OS versions.
if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
webView.loadUrl(url); // This will open it with a built-in PDF viewer app.
else
webView.loadUrl("http://docs.google.com/viewerng/viewer?url="+ url); // This will open it with a browser. On Android 5.0 (Api 21 - Lollipop) and bellow.
// Set Download listener.
webView.setDownloadListener((url1, userAgent, contentDisposition, mimetype, contentLength)
-> startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url1))));
Reseñas y puntuaciones del artículo
Nos puedes estimular nuestra tarea ejecutando un comentario y dejando una puntuación te lo agradecemos.