デバイスを検出して UUID を一覧表示する Android アプリ (ICS 4.0.3) を作成しています。
アプリは Bluetooth デバイスの検出を行い、デバイスが見つかると保存します。デバイスの検出が完了すると、保存したすべてのデバイスを調べて fetchUUidsWithSdp() を実行し、ブロードキャスト レシーバーで検出した UUID を出力します。
アプリが実行されると、2 セットの応答がそれぞれ得られます。各セットには、検出されたすべてのデバイスのすべての UUID が含まれています。
これはそれが機能するはずの方法ですか?
ドキュメントには次のことが記載されています。
SDP レコードの取得中にエラーが発生した場合、またはプロセスに時間がかかる場合は、現在キャッシュに存在する UUID と共に ACTION_UUID インテントが送信されます。
どちらの応答セットも非常に迅速に返されますが、1 つ目はキャッシュから、2 つ目はリモート デバイスからの可能性があると思います。
コードはhttp://digitalhacksblog.blogspot.com/2012/05/android-example-bluetooth-discover-and.htmlにあります。