3

Androidアプリケーションでは、一部の医療機器でBluetooth接続を使用しています。

これを行うために、以下のコードを使用しました

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.0androidOSまでは正常に機能しています。

しかし、Android OS 4.1.1では、「<code>ConnectionRefused」のような問題が発生しています。

助けてください。

4

2 に答える 2

1

バージョン4.2およびおそらく4.1.1ではBluetoothに問題がありました。バージョン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通信ソケットを次のように呼び出すことでこの問題を解決しました

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 に答える