从Android上的蓝牙数据传输中读取数据
问题描述:
我期待获取/读取我连接几个Android设备后传递的数据,到目前为止我配对,连接并传输它们之间的信息,但不知道如何实现阅读部分,在这里我不确定是否应该使用createRfcommSocketToServiceRecord或listenUsingRfcommWithServiceRecord为此目的创建阅读套接字。从Android上的蓝牙数据传输中读取数据
我有两个屏幕,其中一个是用户按下按钮并发送信息,另一个是接收者按下另一个按钮并读取数据,我想知道同步是否不正确,然后按“发送”按钮然后“阅读”按钮连接不可用,或者如果这个实现不能一起推荐。
这些都是我的两次尝试:
尝试1:
//Executed after the user press the read data button
private void connectToServerSocket(BluetoothDevice device, UUID uuid) {
try{
BluetoothServerSocket serverSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(device.getName(),uuid);
//Here is where I get the error:
//io to Server Socket JSR82 Connection is not created, failed or aborted
BluetoothSocket clientSocket = serverSocket.accept();
// Start listening for messages.
StringBuilder incoming = new StringBuilder();
listenForMessages(clientSocket, incoming);
// Add a reference to the socket used to send messages.
transferSocket = clientSocket;
} catch (IOException ioe) {
this.printToast("Excep io toServerSocket:" + ioe.getMessage());
} catch (Exception e) {
this.printToast("Excep toServerSocket:" + e.getMessage());
}
}
尝试2:
private void connectToServerSocket(BluetoothDevice device, UUID uuid) {
try{
BluetoothServerSocket clientSocket = device.createRfcommSocketToServiceRecord(uuid);
//clientSocket without method and invoke is not working either
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
clientSocket = (BluetoothSocket) m.invoke(device, 1);
//Here is where I get the error:
//io to Server Socket JSR82 Connection is not created, failed or aborted
clientSocket.connect();
// Start listening for messages.
StringBuilder incoming = new StringBuilder();
listenForMessages(clientSocket, incoming);
// Add a reference to the socket used to send messages.
transferSocket = clientSocket;
} catch (IOException ioe) {
this.printToast("Excep io toServerSocket:" + ioe.getMessage());
} catch (Exception e) {
this.printToast("Excep toServerSocket:" + e.getMessage());
}
}
在serverSocket.accept()
或clientSocket.connect()
我得到异常:
Connection is not created, failed or aborted
我将不胜感激,如果任何人都可以指导我获取数据阅读部分工作。谢谢。
答
查看Android SDK附带的Android的BluetoothChat示例。我认为它确实是你想要的。
$ ANDROID_SDK /样品/ Android的19 /遗留/ BluetoothChat/src目录/ COM /例子/安卓/ BluetoothChat
答
阅读管理的连接部分。 它清楚地写在文档中如何通过蓝牙在设备之间交换(读/写)信息。 http://developer.android.com/guide/topics/connectivity/bluetooth.html