5

Bluetooth LE introduced the capability to randomize the Bluetooth device address of an advertising device. Playing around with the BluetoothLeAdvertiser class in Android API21, I am missing the method to enable this feature. The device address of my test device is always the same (no randomization whatsoever).

How is it possible to use Bluetooth LE device address randomization in Android?

Thanks, Martin

Martin
  • 51
  • 1
  • 2

1 Answers1

1

The blog you mention also says:

In general, those random, private MAC addresses change according to a timer that the manufacturer implements in their product’s firmware. As such, they know exactly how often the MAC address will change.

So this seems to be a build-in feature and seems beyond control of the application programmer. Of course, this is meant to protect the privacy of the application user. I have noticed the randomization only after rebooting my smartphone, i quess it might vary from device to device.

JPS
  • 604
  • 5
  • 14
  • In this context, "manufacturer" is referring to the entity providing a firmware for specialized Bluetooth LE devices (e.g. FitBit). What these devices do is to advertise certain data. The same can be achieved using Android's BluetoothLeAdvertiser class. Consequently, the 'manufacturer' of software that acts the same way as specialized hardware devices should be able to change this behaviour programatically. IMHO this 'LE Privacy' feature is thought to be activated in software/firmware - clearly above the HCI. – Martin Jun 22 '15 at 14:45
  • I think the Bluetooth chipset has settings for using Private (Non-)Resolvable Addresses or static addresses but the Android BLE framework doesn't give you the option to control it directly. See [this](http://stackoverflow.com/questions/28602672/android-5-static-bluetooth-mac-address-for-ble-advertising) question. You should see however a change in mac-address when advertising using API 21, maybe after a fixed time or device reboot? – JPS Jun 23 '15 at 09:32