2011-11-18 17 views

Respuesta

2

Es raro que Android no tiene ninguna API OBEX explícita. De todos modos, echar un vistazo a este proyecto:


O también, puede utilizar la solución this

BluetoothDevice device; 
String filePath = Environment.getExternalStorageDirectory().toString() + "/file.jpg"; 

ContentValues values = new ContentValues(); 
values.put(BluetoothShare.URI, Uri.fromFile(new File(filePath)).toString()); 
values.put(BluetoothShare.DESTINATION, device.getAddress()); 
values.put(BluetoothShare.DIRECTION, BluetoothShare.DIRECTION_OUTBOUND); 
Long ts = System.currentTimeMillis(); 
values.put(BluetoothShare.TIMESTAMP, ts); 
Uri contentUri = getContentResolver().insert(BluetoothShare.CONTENT_URI, values); 

(Se necesita this class)

+0

Te refieres al [enlace de API] (http://developer.android.com/reference/android/net/Uri.html#fromFile (java.io.File))? – Reno

+0

@ Reno ... Probé el fragmento de arriba en mi aplicación pero no envía el archivo al dispositivo de destino. si necesitamos comenzar con intención como debajo de uno. ¿Cuáles son los formatos de archivo compatibles para compartir en bluetooth? –

+0

@Reno He leído su solución realmente increíble, y ya la marqué como Útil, pero necesito algunas sugerencias, de hecho en mi aplicación tengo que conectarme con dispositivos Bluetooth emparejados para imprimir imágenes ... díganme cuál sería la mejor manera Para hacer eso..? – Sun

4

Esta es una pequeña función que se puede utilizar

/** 
    * Method to share data via bluetooth 
    * */ 
    public void bluetoothFunctionality() { 
     String path = Environment.getExternalStorageDirectory() + "/" 
       + Config.FILENAME; 

     File file = new File(path); 

     Intent intent = new Intent(); 
     intent.setAction(Intent.ACTION_SEND); 
     intent.setType("text/plain"); 
     intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); 
     startActivity(intent); 
    } 

Este método va a enviar un archivo a otro dispositivo mediante la funcionalidad Bluetooth del dispositivo predeterminado. Antes de hacer esto, primero debe emparejar el dispositivo, esto es una limitación. para enviar diferentes tipos de archivo que tenga que acaba de cambiar el tipo MIME en conjunto método de tipo

En el archivo de manifiesto que hay que añadir dos permisos como

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
+3

si no estoy equivocado, esos permisos no son necesarios para ello. – xmen

Cuestiones relacionadas