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
か?
ソケットが作成されるたびにテストできる方法はありますか?