L'indirizzo MAC è un indirizzo fisico e non cambia. Nella terminologia BLE, è l'indirizzo del dispositivo pubblico o BD_ADDR per BR/EDR. Non l'ho provato, ma leggerlo con readAddress() dovrebbe restituire lo stesso valore ogni volta.
Ciò che il framework BLE di Android fa NON è utilizzare quell'indirizzo durante la pubblicità. Piuttosto abilita la privacy usando gli Indirizzi di Risolvibilità Privati che possono cambiare ogni pochi minuti circa, ma consentono comunque ai dispositivi vincolati di riconoscerlo usando l'IRK scambiato al legame.
Per ovvi motivi di privacy, il framework BLE di Android non consente di impostare il Controller per l'utilizzo dell'indirizzo pubblico durante la pubblicità. Quindi non è possibile disabilitare "l'indirizzo che ruota".
fonte
2015-02-19 17:06:33
Potrebbe aggiungere una sorta di fonte? – DagW
Bluetooth 4.2 Core Spec: https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=286439 –
@BogdanAlexandru se i pacchetti di annunci pubblicitari hanno solo gli indirizzi di risolvibilità privati, quindi, come fa un [ScanFilter] (http://developer.android.com/reference/android/bluetooth/le/ScanFilter.html) basato su indirizzi MAC funzionano? qualche idea? –