Enviar texto
Ejemplo mínimo en Kotlin. device_id acepta valores del 1 al 5.
kotlin
val intent = Intent(Intent.ACTION_SEND).apply { type = "text/plain" setPackage("com.fidelier.posprinterdriver") putExtra(Intent.EXTRA_TEXT, "Pedido #123Total: 12,50 €") putExtra("device_id", 1)}startActivity(intent)- Comprueba antes que la impresora elegida existe y supera la prueba interna.
- Los comandos especiales del texto se explican en la referencia de comandos.
Enviar una imagen
Comparte una URI content:// mediante FileProvider y concede permiso temporal de lectura.
kotlin
val intent = Intent(Intent.ACTION_SEND).apply { type = "image/png" setPackage("com.fidelier.posprinterdriver") putExtra(Intent.EXTRA_STREAM, imageUri) putExtra("device_id", 1) addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)}startActivity(intent)- La aplicación puede mostrar una vista previa y permitir elegir impresora.
- La opción extra direct con valor "1" evita la vista previa en el flujo compatible; pruébala expresamente en tu versión.
Enviar un PDF
kotlin
val intent = Intent(Intent.ACTION_SEND).apply { type = "application/pdf" setPackage("com.fidelier.posprinterdriver") putExtra(Intent.EXTRA_STREAM, pdfUri) putExtra("device_id", 1) addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)}startActivity(intent)Comprobaciones antes de publicar
- Gestiona el caso en que PosPrinterDriver no esté instalada.
- Usa URI content:// y permisos temporales; no expongas rutas privadas del sistema de archivos.
- Prueba imágenes grandes, transparencias y orientación.
- Ensaya caracteres acentuados y la página de códigos elegida.
- Evita reintentos automáticos que puedan duplicar tickets.