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.
- ¿Qué intención abriría un pdf desde una url?
- Cómo abrir un PDF a través de Intent de la tarjeta SD
- ¿Es correcto firebase para mi aplicación Android?
- La aplicación de Android navega para iniciar la actividad cuando viene de fondo
- Desenfocar el fondo detrás de AlertDialog
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?
- Códigos de seguimiento UTM en Firebase
- Abrir el archivo pdf desde el servidor con la intención de Android
- Android: inicia una intención en un framelayout
- El procesamiento de anotaciones de Kotlin ignora los elementos con nombres similares
- Creación de la aplicación Native Android de Magento Site
- El uso de @OnCheckedChanged (ButterKnife) con radioGroup da error en android
- Recibiendo resultado del servicio de intento dentro de adaptador personalizado para listview
- Pasar datos entre actividades de listview a otra actividad
¿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?