BluetoothUUIDが何を意味するのかわかりません。UUIDはプロトコル(RFCOMMなど)を示しますか?もしそうなら、createRfcommSocketToServiceRecord()
メソッドが名前にrfcommを正しく指定しているのに、なぜUUIDが必要なのですか?BluetoothChatサンプルコードに一見任意のハードコードされたUUIDがあるのはなぜですか?
この質問のように、4.0.4を実行しているデバイスがリフレクションを使用して(外部のAndroid以外のデバイスに)接続しようとすると、nullポインター例外が発生するため、私の質問が発生します。しかし、その質問に対する解決策は私にはうまくいきません。UUID muuid = device.getUuids()[0].getUuid();
例外が発生します。
編集:この回答に従って(を使用してUUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
)シリアルポートサービスのUUIDをハードコーディングすることで、この問題を解決しました。
createInsecureRfcommSocketToServiceRecord(),
リフレクション方式を使用しているが使用していない、セキュリティで保護されていないrfcommソケットを作成するためにUUIDを指定する必要がある理由にさらに戸惑います。
誰かが私をまっすぐにすることができますか?