2

ある Android デバイスを別のデバイスに接続するために、listenUsingInsecureRfcommWithServiceRecord 呼び出しと createInsecureRfcommSocketToServiceRecord 呼び出しを使用しています。

最初の設定では、Nexus One と Nexus S の両方で Android 2.3.6 を実行していました。この設定では、接続しても「ペアリング要求」ダイアログが表示されませんでした。

2 番目の設定では、Android 2.3.3 を実行している Samsung Galaxy S2 で同じ Nexus One を試しました。この設定では、両方のデバイスで「ペアリング要求」ダイアログが表示されました。両方のデバイスが安全でない接続をサポートするはずの API レベル 10 であるため、これは奇妙です。

他の誰かがこの奇妙な動作に遭遇しましたか? これが 2.3.3 の問題であること、または私がテストした特定のモデルの問題であることを誰かが確認できますか? 回避策はありますか?

必要に応じて、logcat から関連部分を投稿できます。

4

1 に答える 1

3

Bluetooth v2.1、GAP、セクション 5.2.2:

両方のデバイスがセキュア シンプル ペアリングをサポートしている場合、GAP はデフォルトで認証されていないリンク キーを要求し、暗号化を有効にする必要があります。

したがって、暗号化 Bluetooth を有効にするには、リンクキーを作成する必要があります... したがって、SSP ペアリングが必要です。

Androidでそれを回避できるかどうかはわかりません。

それ以外の場合は、認証イベントを処理してペアを確認します。ペアは、確認のみが必要な「Just Works」形式になる可能性が非常に高くなります (パスキーなどは必要ありません)。

于 2012-01-04T10:30:19.497 に答える