Envío de varios archivos a través de Bluetooth
Vi su respuesta sobre el envío de archivos a través de Bluetooth. (Respondió 13 de junio a las 5:01)
Intent i = new Intent(Intent.ACTION_SEND); i.setType("image/jpeg"); i.putExtra(Intent.EXTRA_STREAM, Uri.parse("/sdcard/file.jpg")); startActivity(Intent.createChooser(i, "Send Image"));
¡Sí! Funciona. Se abrirá una herramienta / ventana / diálogo de Bluetooth por defecto para enviar un archivo. Pero, ¿podría por favor enseñarme cómo enviar más archivos? Aquí está mi código …
- Cómo obtener un algoritmo de Hashing de archivo rápido para archivos grandes en un dispositivo móvil
- ¿Es posible transferir archivos al teléfono inteligente durante la conexión?
- Error al reproducir el video subido a través de PhoneGap FileTransfer
- Navegue por el sistema de archivos de Frambuesa Pi desde android vía bluetooth
- Transferencia de archivos Bluetooth Android
String xFile[3] = { "aa.txt", "bb.txt", "cc.txt" }; Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); for (int i = 0; i < 3; i ++) { intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(xFile[i]))); startActivity(intent); }
¡Funciona, pero abrirá la herramienta / ventana / diálogo de Bluetooth por defecto por 3 veces! @@ Si hay 10 archivos, abrirá la herramienta / ventana / diálogo de Bluetooth por defecto 10 veces !!
¿Puedo saber cómo abrir la herramienta / ventana / diálogo Bluetooth por defecto una vez, y luego enviar todos los archivos?
¡Muchas gracias por adelantado!
- Cómo enviar un archivo desde un dispositivo Android a otro dispositivo a través de Bluetooth por código
- Android ymodem sobre bluetooth en Java
- Transferencia de archivos a través de bluetooth como en Android
- Transferencia de archivos Bluetooth en Android (incluso tipos restringidos)
- Cómo crear un servidor http en android que un escritorio puede acceder (viceversa) usando NanoHTTPD
- Transferencia de archivos entre Android y iPhone a través de bluetooth?
- Mensaje y transferencia de archivos usando Bluetooth en android
- Cómo encontrar el nombre de archivo de un archivo que se transfiere a través de wifi modo directo en Android?
Bueno, esto puede hacerse por los siguientes medios. Deje que la lista de archivos a enviar sea denotada por mMultiSelectData
.
ArrayList<Uri> uris = new ArrayList<Uri>(); int length = mMultiSelectData.size(); Intent mail_int = new Intent(); mail_int.setAction(android.content.Intent.ACTION_SEND_MULTIPLE); mail_int.setType("*/*"); for(int i = 0; i < length; i++) { File file = new File(mMultiSelectData.get(i)); uris.add(Uri.fromFile(file)); } mail_int.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); mContext.startActivity(mail_int);
Esto abrirá una caja de selección. Elija Bluetooth
y se enviará la lista de archivos.
Es un ejercicio bastante simple, pero esto viene con un costo! Espacio de almacenamiento SDCard.
Sí, es necesario descargar los archivos múltiples en la tarjeta SD para el propósito.
Para cada archivo descargado en la tarjeta SD que necesita para construir una lista de matrices de Uri
.
ArrayList<Uri> listDumpedFileUris = new ArrayList<Uri>(); Uri uriFile = Uri.fromFile(new File(dumpedFilePath)); listDumpedFileUris.add(uriFile);
La parte crucial es explicar explícitamente la intención de que el selector debe ser capaz de leer los archivos descargados en la SDCard mediante la concesión del permiso de lectura y, lo que es más importante, agregue la lista de arreglo al paquete extra parcelable de la intención.
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, listDumpedFileUris); startActivity(Intent.createChooser(intent, "Send these files using..."));
A continuación, todos los archivos seleccionados se enviarán a través del dispositivo bluetooth de Android en tiempo de ejecución. Por cierto, puede que tenga que especificar explícitamente el setType
para los archivos, por ejemplo, image/jpeg
como en:
intent.setType("image/jpeg");
El único incumplimiento es su parte para limpiar los restos del sistema de archivos SDCard que es algo, en su mayor parte, los usuarios de Android absolutamente odian!
- Picasso problema de extracción de imágenes cuando se utiliza con RecyclerView
- Cómo cambiar la posición de etiqueta flotante de TextInputLayout en android