Android蓝牙LE MAC地址随机化

问题描述:

蓝牙LE引入了随机化广告设备的蓝牙设备地址的功能。在Android API21中使用BluetoothLeAdvertiser类时,我缺少启用此功能的方法。我的测试设备的设备地址始终相同(不随机)。Android蓝牙LE MAC地址随机化

在Android中如何使用Bluetooth LE设备地址随机化?

感谢, 马丁

+0

显示此功能的文档在哪里? – bernlim

+1

你可以在这里找到它:http://blog.bluetooth.com/bluetooth-technology-protecting-your-privacy/ – Martin

+0

编辑:该功能默认启用。每次配置新的LE广告商时,使用的地址都会发生变化。 – Martin

你提到的博客也说:

一般情况下,这些随机的,私有的MAC地址,根据该生产商在其产品的固件实现了一个定时器改变。因此,他们知道MAC地址的改变频率。

所以这似乎是一个内置功能,似乎超出了应用程序员的控制范围。当然,这是为了保护应用程序用户的隐私。我已经注意到只有在重新启动智能手机后才进行随机化,可能会因设备而异。

+0

在这种情况下,“制造商”是指为专用蓝牙LE设备提供固件的实体(例如FitBit)。这些设备所做的是宣传某些数据。使用Android的BluetoothLeAdvertiser类也可以达到同样的效果。因此,与专用硬件设备相同的软件“制造商”应该能够以编程方式改变这种行为。恕我直言,这'LE隐私'功能被认为是在软件/固件激活 - 明显高于人机交互。 – Martin

+0

我认为蓝牙芯片组具有使用私有(非)可解析地址或静态地址的设置,但Android BLE框架不会让您选择直接控制它。请参阅[this](http://*.com/questions/28602672/android-5-static-bluetooth-mac-address-for-ble-advertising)问题。但是,在使用API​​ 21进行广告宣传时,您应该看到mac地址发生变化,也许在固定时间或设备重新启动之后? – JPS