Ome*_*mer 5 android bluetooth-lowenergy
我正在使用此示例代码对Android的蓝牙LE功能进行一些简单的扫描+广告测试
我正在使用三星6和Nexus 9测试它,出于某种原因,如果我让应用程序在三星上运行并在Nexus上重新启动应用程序,下次三星设备找到其他设备时,它会有所不同地址.
在代码中:
在设备上:
有趣的是它不会发生反过来.(从Nexus 9发现时,三星总是拥有相同的地址)
You*_*eed 10
正如CommonsWare所提到的,从Android 6.0开始,Android已经以编程方式删除了对硬件地址的访问,并使其成为扫描设备随机生成的地址.更改日志可在此处找到:
扫描设备看到随机蓝牙地址而不是实际蓝牙地址这一事实是非常有用的隐私功能.它被BTv4.0的蓝牙规范采用,被称为LE隐私:
" 此功能会导致广告数据包中的MAC地址被随机值替换,该随机值会在制造商确定的时间间隔内发生变化.任何沿着您的旅行路线间隔放置的恶意设备将无法确定从您的设备收到的一系列不同的,随机生成的MAC地址实际上与同一物理设备有关.它实际上看起来像是一系列不同的设备,因此,无法使用所通告的MAC地址跟踪您 "[1]
你可以在这里找到类似的问题: -
由于棉花糖使用BluetoothAdapter.getDefaultAdapter()更新蓝牙发现.startDiscovery(); 被打破
[1] http://blog.bluetooth.com/bluetooth-technology-protecting-your-privacy/
| 归档时间: |
|
| 查看次数: |
6219 次 |
| 最近记录: |