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 catch。NULLリモート デバイスは OBEX OPP をサポートしていますが、これは Bluetooth スタックの 1 つ上のレイヤーにすぎないRFCOMMため、デバイスは接続用に RFCOMM をサポートする必要があると思います。tmpオブジェクトが に設定されている理由を誰か教えてもらえますnullか?
ソケットが作成されるたびにテストできる方法はありますか?