私のアプリはBluetooth LEデバイスに接続する必要があります。通常、mBluetoothAdapter.startLeScan(mLeScanCallback);
を使用してデバイススキャンを実行します。コールバックは利用可能なデバイスに関する情報を提供します。Android 4.4:Bluetooth低エネルギー; BLEデバイスをスキャンせずに接続する
専用のデバイスに接続したい場合は、あなたが私に
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
、その後
mBluetoothGatt = device.connectGatt(this, false, mGattCallback);
ような何かを、それはあなたがBLEデバイスに接続する必要がある唯一のもののように見えます上記の2つの手順でBLEアドレスを知り、それに接続することです。したがって、既にBLEアドレスがわかっている場合(BLEデバイスのラベルに書かれているなど)、BLEスキャンを実行する必要はありません。
しかし、私が遭遇したのは、以前にBLEスキャンで見つけたことのないBLEデバイスがあれば、そのBLEアドレスを使用して直接接続することができないということです。私は少なくとも1回アンドロイド携帯電話でスキャンして見つけなければなりません。その後、私はもう一度スキャンする必要はなく、BLEアドレスを使用するだけでBLEデバイスに接続できます。
これはこのようなものか、何かを監督しましたか?
おかげでたくさん、 ステファン
接続する前に[ペアリングおよび/またはボンディング](https://piratecomm.wordpress.com/2014/01/19/ble-pairing-vs-bonding/)する必要がありますか? – JimmyB
私がBLEを理解する限り、これは必要ではありません。また、私がスキャンを実行する場合、私はペアリングやボンディングのために何もしないで動作します。問題は、BLEスキャンを実行せずにデバイスに直接接続することです。 – Stefan