Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android蓝牙插座_Android_Sockets_Bluetooth - Fatal编程技术网

Android蓝牙插座

Android蓝牙插座,android,sockets,bluetooth,Android,Sockets,Bluetooth,我想做的是: 我正在开发一个应用程序,该应用程序将使用蓝牙和SPP从生物识别设备获取数据。为此,我有一些由生物识别设备制造商提供的命令(字节和十六进制格式)和步骤 我的问题是: 我必须遵循两个步骤来获取数据,即一个接一个地发送两个命令。当接收到第二个命令时,生物识别设备返回数据。我已成功与设备建立连接并执行第一个命令,但当我向设备发送第二个命令时,应用程序卡住,一段时间后,生物识别设备终止连接,我收到IO异常:套接字关闭,不了解第二个命令发生了什么 我已经做了: 我已经使用了Android SD

我想做的是: 我正在开发一个应用程序,该应用程序将使用蓝牙和SPP从生物识别设备获取数据。为此,我有一些由生物识别设备制造商提供的命令(字节和十六进制格式)和步骤

我的问题是: 我必须遵循两个步骤来获取数据,即一个接一个地发送两个命令。当接收到第二个命令时,生物识别设备返回数据。我已成功与设备建立连接并执行第一个命令,但当我向设备发送第二个命令时,应用程序卡住,一段时间后,生物识别设备终止连接,我收到IO异常:套接字关闭,不了解第二个命令发生了什么

我已经做了: 我已经使用了Android SDK示例中提供的示例中的BluetoothChatService.class,并根据我的要求修改了线程的运行函数,即,我正在该函数中发送命令。并使用“00001101-0000-1000-8000-00805F9B34FB”UUID。为了连接到插座,我尝试了以下代码:

if (Build.VERSION.SDK_INT > 9) {
                tmp = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);
            }
            else {
                tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
            }

有人知道我错在哪里吗

先谢谢你。 但其中一个可以解决我的问题

编辑 我已经解决了这个问题。下面是我正在建立套接字连接的方法

if (Build.VERSION.SDK_INT < 10){
Method m = device.getClass().getMethod("createRfcommSocket",new Class[] { int.class });
tmp = (BluetoothSocket) m.invoke(device, Integer.valueOf(1));
if(Build.VERSION.SDK\u INT<10){
方法m=device.getClass().getMethod(“CreateRfcomSocket”,新类[]{int.Class});
tmp=(BluetoothSocket)m.invoke(设备,Integer.valueOf(1));
}

否则{ tmp=device.createrFComSocketToServiceRecord(我的UUID); }


生物识别设备可能正在请求安全性? 如果没有执行蓝牙安全程序,它可能会断开连接。 几个问题: 你使用的是哪个安卓版本? 您知道设备的SPP连接要求(安全要求)吗?
还可以共享Bluetooth logcat跟踪以确认问题

我提供了检查文档,但没有指定安全要求。我正在HTC desire、HTC desire HD和三星Galaxy Tab 10.1上对此进行测试。
tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
if (Build.VERSION.SDK_INT < 10){
Method m = device.getClass().getMethod("createRfcommSocket",new Class[] { int.class });
tmp = (BluetoothSocket) m.invoke(device, Integer.valueOf(1));