2011-11-18 29 views

cevap

2

Bu Android'in açık bir OBEX api sahip olması garip gibi iki izinleri eklemek zorunda sadece Manifest'inizde dosyasında set tipi yöntemiyle

MIME türünü değiştirmek zorunda dosyanın farklı türde göndermek. OBEX


kullanarak dosya paylaşımı için Veya alternatif olarak

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); 

(O this class ihtiyacı this çözümü kullanabilirsiniz -

+0

[API bağlantısı] (http://developer.android.com/reference/android/net/Uri.html#fromFile (java.io.File))? – Reno

+0

@ Reno.. Uygulamamdaki yukarıdaki pasajı denedim ancak dosyayı hedef cihaza göndermiyor. bir tanesinin altında niyetle başlamamız gerekip gerekmediği. Bluetooth üzerinde paylaşmak için dosya formatları neler destekleyebilir. –

+0

@Reno Çözümü gerçekten harika buldum ve Faydalı olarak işaretledim, ancak bazı önerilere ihtiyacım var, aslında uygulamasında resimleri eşleştirmek için eşleştirilmiş Bluetooth cihazlarına bağlanmam gerekiyor ... en iyi yolun hangisi olacağını söyle bunu yapmak için..? – Sun

4

Bu varsayılan aygıt bluetooth işlevselliğini kullanarak başka bir cihaza dosya gönderecek

/** 
    * 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); 
    } 

Bu yöntem kullanabilirsiniz küçük bir fonksiyondur. Bunu yapmadan önce, önce bu cihazı sınırlamanız gerekir. Eğer

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

Yanlış değilse, bu izinler bunun için gerekli değildir. – xmen

İlgili konular