2012-04-11 72 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连接。