3

在 android 应用程序中,我们使用蓝牙连接与一些医疗设备。

为此,我们使用了以下代码

BluetoothDevice zee = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(bluetoothAddress);
Method m = (Method) zee.getClass().getMethod("createRfcommSocket",new Class[] { int.class });
result = (BluetoothSocket) m.invoke(zee, Integer.valueOf(1));

或某些情况,如果上面的代码失败,那么我们使用下面的代码

String bluetooth_address="";
bluetooth_address=bluetoothAddress;
BluetoothDevice zee = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(bluetooth_address);
result = zee.createRfcommSocketToServiceRecord( getSerialPortUUID() );

这两个代码在 4.0 android OS 下都可以正常工作。

但在 Android OS 4.1.1 上,它现在遇到了“<code>Connection Refused”之类的问题。

请帮忙。

4

2 回答 2

1

4.2 版和大概 4.1.1 版中的蓝牙存在问题。在 4.2.1 版中,它们已得到解决。检查http://crave.cnet.co.uk/mobiles/android-4-2-1-update-brings-back-december-fixes-bluetooth-50009859/。在 4.2.1 中尝试

于 2012-12-31T07:26:39.633 回答
0

谢谢大家,我通过调用不安全的 RF comm Socket 解决了这个问题

String bluetooth_address="";
bluetooth_address=bluetoothAddress;
BluetoothDevice zee = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(bluetooth_address);
//result = zee.createRfcommSocketToServiceRecord( getSerialPortUUID() );
result = zee.createInsecureRfcommSocketToServiceRecord(getSerialPortUUID());
于 2013-01-02T06:09:04.167 回答