2012-04-11 68 views
19

我想實現一個應用程序從藍牙設備接收文件。如何在Android應用程序中接受藍牙接收文件?

接收之前,會發出通知以接受傳入的文件請求。

從那裏,當用戶從另一個藍牙配對設備接收到第二個文件時,我想激活「接受」並自動下載文件,而不會引起接受對話框,而且用戶啓動應用程序時通知不會受到干擾。

+0

檢查這有助於:http://stackoverflow.com/questions/6483758/android-programmatically-bluetooth配對 – Niko 2012-04-11 10:01:11

回答

1

我開發了一個包含這種任務的應用程序,您可以使用BluetoothChat示例。 您必須將安全標誌設置爲false: ` boolean secure = false;

 try { 
      if (secure) { 
       tmp = mAdapter.listenUsingRfcommWithServiceRecord(NAME_SECURE, 
        MY_UUID_SECURE); 
      } else { 
       tmp = mAdapter.listenUsingInsecureRfcommWithServiceRecord(
         NAME_INSECURE, MY_UUID_INSECURE); 
      } 
     } catch (IOException e) { 
      Log.e(TAG, "Socket Type: " + mSocketType + "listen() failed", e); 

     mmServerSocket = tmp; 
    }` 

,然後讀取從InputStream緩衝區,你可以在ConnectedThread發現:

while (true) { 
      try { 

       bytes = mmInStream.read(buffer); 
       /*write bytes in a file*/ 


      } catch (IOException e) { 
       Log.e(TAG, "disconnected", e); 
       connectionLost(); 

       BluetoothChatService.this.start(); 
       break; 
      } 
     } 
+1

自從android 4.0以來,這並沒有奏效 – Gelvis 2013-10-29 20:31:34

0

您可以嘗試使用Bluetooth socket連接來設置客戶端服務器TCP連接。