Android蓝牙连接另一个蓝牙设备
我正在做基于蓝牙的应用程序,我想连接其他设备,如诺基亚设备和打印机。
我参考了android蓝牙文档http://developer.android.com/guide/topics/connectivity/bluetooth.html 。 它演示了所有基本的蓝牙APIfunction,而且我做了所有这些
Scanning for other Bluetooth devices Querying the local Bluetooth adapter for paired Bluetooth devices Establishing RFCOMM channels/sockets Connecting to a remote device Transfering data over Bluetooth
我从BluetoothChat,android的样本中获得参考。
BluetoothChat This application send data to another android device but for that this application must be installed in both the devices.
像这样如何通过代码将文件从Android设备发送到其他设备
我想要的是
- 我想从我的应用程序将文件从一个设备发送到另一个设备,这也适用于另一个没有运行我们的应用程序的设备。 即Receiver设备也能够使用默认蓝牙接收文件。
这在Android中是否可行?
我认为这是不可能的。
实际上,当你创建一个蓝牙套接字时,你必须使用createRfcommSocketToServiceRecord(UUID)
此函数需要一个UUID,它是两个设备上的应用程序之间共享的字符串,因此可以建立连接。
如果没有蓝牙套接字监听其他设备,使用完全相同的UUID,您将无法共享数据。
您可以轻松地在两个BT设备之间建立连接。 你只需要打电话
createRfcommSocketToServiceRecord(UUID)
使用了解接收器设备的UUID。 对于文件传输操作,UUID必须等于(例如)00001106-0000-1000-8000-00805F9B34FB(文件传输服务)
所以你的连接代码可能看起来像下面的代码
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(“00:0A:94:16:77:A0”); BluetoothSocket clientSocket;
try { log(TAG, "Remote device " + device); ParcelUuid[] uuids = device.getUuids(); boolean isFileTransferSupported = false; UUID ftpUID = UUID.fromString("00001106-0000-1000-8000-00805F9B34FB"); // Check if remote device supports file transfer for (ParcelUuid parcelUuid: uuids) { if (parcelUuid.getUuid().equals(ftpUID)) { isFileTransferSupported = true; break; } } if (!isFileTransferSupported) { log(TAG, "Remote bluetooth device does not supports file transfer "); return; } clientSocket = device.createRfcommSocketToServiceRecord(ftpUID); clientSocket.connect(); } catch (IOException e) { return; }
- 使用Javafx android-tools创建Android项目后,清空bin,libs,src文件夹
- 在不使用任何ressource xml的情况下将视图(按钮,标签等)添加到动态片段
- 怎么可以在Android中创建防火墙应用程序?
- 如何在android中进行NFC点对点连接?
- BitmapFactory.decodeByteArray()始终返回null(手动创建的字节数组)
- Android辅助搜索:搜索按钮不会调用可搜索的活动(其他解决方案没有帮助)
- FileDescriptor什么时候关闭?
- FTDI D2xx android java不读
- 是否有可能从Android / Java或iPhone / objective-C中的代码中获取变量名称以进行调试