1

connectメソッドを使用してソケットに接続しようとしています。次のようなUUIDを含む文字列を生成しています:

MY_UUID = UUID.fromString("45341da0-c9c1-11e1-9b21-0800200c9a66");

BluetoothSocket次に、次のように構築します。

BluetoothSocket tmp = null; 

また、MACアドレスで特定のデバイスに接続したい:

BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice("00:1B:DC:0F:EC:7E");

そして、bluetoothSocket

try {
    tmp = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);    
    } catch (IOException e) {
    Toast.makeText(getApplicationContext(), "Exception1: " + e.getMessage(), Toast.LENGTH_LONG).show();
    }

テストのために、tmpオブジェクトが 内で初期化されるブレークポイントを追加しましたtry catchNULLリモート デバイスは OBEX OPP をサポートしていますが、これは Bluetooth スタックの 1 つ上のレイヤーにすぎないRFCOMMため、デバイスは接続用に RFCOMM をサポートする必要があると思います。tmpオブジェクトが に設定されている理由を誰か教えてもらえますnullか?

ソケットが作成されるたびにテストできる方法はありますか?

4

0 に答える 0