Envíe un archivo PDF como correo o la aplicación de oferta para ver directamente el archivo
Mi aplicación Android 4+ puede crear diferentes informes en formato PDF. Sé que me gustaría ofrecer al usuario la opción de enviar el archivo por correo electrónico o para abrir en cualquier aplicación que puede manejar archivos PDF. Actualmente utilizo el código siguiente:
Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("application/pdf"); Uri uri = Uri.parse("file://" + reportFile.getAbsolutePath()); intent.putExtra(Intent.EXTRA_STREAM, uri); try { startActivity(Intent.createChooser(intent, "Share PDF file")); } catch (Exception e) { Toast.makeText(ReportsActivity.this, "Error: Cannot open or share created PDF report.", Toast.LENGTH_SHORT).show(); }
Esto funciona bien, excepto que sólo se ofrecen aplicaciones de "envío" como Bluetooth, Google Drive, correo electrónico, etc. Instale la aplicación Acrobat Reader, que por supuesto puede ver archivos PDF. Pero esta aplicación también sólo aparece con "Enviar para la firma" y no con "Abrir en Reader" o somthing como este.
- Abrir el archivo pdf en línea a través de la intención de Android?
- No se puede iniciar la actividad ComponentInfo ... java.lang.IllegalStateException: Ya conectado
- El procesamiento de anotaciones de Kotlin ignora los elementos con nombres similares
- Error de archivo no encontrado después de seleccionar un archivo en android
- Cómo abrir un PDF a través de Intent de la tarjeta SD
Pensé que la intención de ACTION_SEND
significaría "enviar a otra aplicación" y no striktly "enviar a otro lugar". ¿Qué intención puedo utilizar para incluir las opciones de "abrir con" también?
- ¿Es correcto firebase para mi aplicación Android?
- Desenfocar el fondo detrás de AlertDialog
- Abrir el archivo pdf desde el servidor con la intención de Android
- La aplicación de Android navega para iniciar la actividad cuando viene de fondo
- Recibiendo resultado del servicio de intento dentro de adaptador personalizado para listview
- ¿Qué intención abriría un pdf desde una url?
- Android: inicia una intención en un framelayout
- Creación de la aplicación Native Android de Magento Site
¿Qué intención puedo utilizar para incluir las opciones de "abrir con" también?
ACTION_VIEW
es para ver archivos.
startActivity(new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.fromFile(reportFile), "application/pdf")));
Pensé que la intención de ACTION_SEND significaría "enviar a otra aplicación" y no striktly "enviar a otro lugar".
No, ACTION_SEND
es para enviar cosas. Esto incluye "enviarte a ti mismo en otra aplicación" en algunos casos (por ejemplo, enviar a Google Drive), pero específicamente no es para ver archivos.
- Adición de un enlace web a un widget TextView
- ¿Cómo cambiar la fuente de la llave del teclado de android?