Bluetooth LE デバイスは、他のデバイスにメッセージをブロードキャストできます。そのメッセージ パケットには、長さ、プロファイル、rssi (信号強度) などの情報を含めることができます。
Android で BLE デバイスをスキャンするときに、これらの Bluetooth LE ブロードキャスト データを読み取るにはどうすればよいですか?
API レベル 21+
android.bluetooth.le.ScanCallbackでは 、次のコールバック メソッドにresultという名前のパラメータがあり、これにはscanRecordというフィールドがあり、BLE デバイスから送信されたアドバタイズ データを含める必要があります。
void onScanResult (int callbackType, ScanResult result)
API レベル 18 ~ 20
BluetoothAdapter.LeScanCallbackでは、次のコールバック メソッドにscanRecordという名前のパラメーターがあり、これには BLE デバイスによって送信されたアドバタイズ データが含まれている必要があります。
public abstract void onLeScan (BluetoothDevice device, int rssi, byte[] scanRecord)
scanRecord:リモート デバイスによって提供される広告レコードの内容。