4

Android デバイスが Bluetooth 経由でセンサーに接続しようとしています。

通常の Bluetooth デバイスとして、ピン コード (通常は 0000 または 1234) を実用的に設定する必要があります。

サイレントであり、リクエストダイアログをポップアップしないため、センサー側の場合。

Android dev サイトに関連する手がかりは見つかりませんでした。

これを達成するために利用できるアプローチがあるかどうか、誰かに教えてもらえますか?

4

1 に答える 1

5

PIN を設定するには、クラスsetPin(byte[])から隠しメソッドをリフレクションで呼び出すことができます。BluetoothDevice

例:

try {
  Log.d("setPin()", "Try to set the PIN");
  Method m = device.getClass().getMethod("setPin", byte[].class);
  m.invoke(device, pin);
  Log.d("setPin()", "Success to add the PIN");
} catch (Exception e) {
  Log.e("setPin()", e.getMessage());
}

deviceあなたBluetoothDeviceとBluetoothデバイスピンを含む配列pinはどこにありますか。byte[]

しかし、メソッドを使用することを好むと思いますsetPasskey(int)。「0000」や「1234」などのパスキーを設定したいので簡単です。

[アップデート]

以前のソース リンクは無効になり、クラスが更新されました。どうやらsetPasskeyもう存在しないようです。以下のドキュメントのリンクに従って、必要な情報を見つけてください。

出典: BluetoothDevice Android ドキュメント

于 2013-03-21T20:53:09.247 に答える