Android デバイスが Bluetooth 経由でセンサーに接続しようとしています。
通常の Bluetooth デバイスとして、ピン コード (通常は 0000 または 1234) を実用的に設定する必要があります。
サイレントであり、リクエストダイアログをポップアップしないため、センサー側の場合。
Android dev サイトに関連する手がかりは見つかりませんでした。
これを達成するために利用できるアプローチがあるかどうか、誰かに教えてもらえますか?
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
もう存在しないようです。以下のドキュメントのリンクに従って、必要な情報を見つけてください。