Bluetoothの接続には、UUIDを指定しないといけないらしい。
その詳細は良く分かりませんが、BluetoothでSPPを使って接続する場合、UUIDは
00001101-0000-1000-8000-00805F9B34FB
を指定しなければいけない。
Android公式のサンプルBluetoothChatを、SPPのデバイスと接続するアプリに流用する場合、このUUIDに変更するのを忘れてはいけない。 変更しておかなければデバイスの接続に失敗する。 プログラムは普通にビルドされるし例外も発生しないので、UUIDが原因の場合、原因が特定しづらいと思う。
以前、僕の自作アプリBluetoothTerminalに外国の方から、「自作のアプリでは失敗するけど、BluetoothTerminalでは成功するのは何故か?」と言った感じの質問が有ったけれど、その時僕はこのUUIDの問題についてド忘れしていて「分からない」と言う感じの答えを返しておいた。
最近になってこのことを思い出したのだけれど、その人のアプリが動かないのは、これが原因の可能性が大きいと思う。
もうその人は見に来ないだろうけど・・・
ちなみに、検索すればこのことを解説しているサイトは山ほど見つかるのですが、上記のことがちょっと残念な気持ちなので、TIPSとしてブログに残しておくことにしました。