2015-06-22 516 views
3

藍牙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

回答

1

你提到的博客也說:

一般情況下,這些隨機的,私有的MAC地址,根據該生產商在其產品的固件實現了一個定時器改變。因此,他們知道MAC地址的改變頻率。

所以這似乎是一個內置功能,似乎超出了應用程序員的控制範圍。當然,這是爲了保護應用程序用戶的隱私。我已經注意到只有在重新啓動智能手機後才進行隨機化,可能會因設備而異。

+0

在這種情況下,「製造商」是指爲專用藍牙LE設備提供固件的實體(例如FitBit)。這些設備所做的是宣傳某些數據。使用Android的BluetoothLeAdvertiser類也可以達到同樣的效果。因此,與專用硬件設備相同的軟件「製造商」應該能夠以編程方式改變這種行爲。恕我直言,這'LE隱私'功能被認爲是在軟件/固件激活 - 明顯高於人機交互。 – Martin

+0

我認爲藍牙芯片組具有使用私有(非)可解析地址或靜態地址的設置,但Android BLE框架不會讓您選擇直接控制它。請參閱[this](http://stackoverflow.com/questions/28602672/android-5-static-bluetooth-mac-address-for-ble-advertising)問題。但是,在使用API​​ 21進行廣告宣傳時,您應該看到mac地址發生變化,也許在固定時間或設備重新啓動之後? – JPS