Engedd meg hogy válaszoljak, valószinüleg nem fejlesztesz androidra.
1, Semmi akadálya nem lett volna hogy a bssid csupa nulla (00-00-00...) legyen location perm. nélkül. Tökéletesen müködik, a google ugyanezt meglépte a telefon mac-je esetén, és azt még csak nem is kompatibilis módon, androidon 8.0-án tökmindegy mit targetálsz, ha nincs location engedélyed, a mac csupa nulla lesz. (ebből következőleg a nem frissitett appok is csak limitációkkal fognak tudni müködni, esetleg elcrashelnek ha erre komolyabban építenek).
2, ha magasabb skd-t targetálsz, akkor úgy is hozzá kell nyúlnod a kódhoz, mert a location veszélyes engedélynek minősül és futásidőben be kell kérned + ellenörizni hogy megkaptad-e. Ha ezt nem teszed, akkor igy is úgy is elcrashel az alkalmazásod egy szép securityexception keretében. Innentől kezdve már csak plusz egy lépés megnézni a dokumentációt, hogy ó igen és a bssid is csupa nulla ez esetben, hát akkor arra nem építhetek kódlogikát.
3, végtelenségig nem érdemes vinni a privacy-t (lásd ap neve, de amúgy azt is simán lehet randomizálni, pl. első 5 karakter + random szám), egy csomó más mindenből is építhetek adatbázist, pl whatismyip aztán bumm máris megvan az ország, megpingeteg pár szervert a latency-ből is tudok következtetni, megnézem a telefon nyelvét és ezeket összeadom. És ezekhez elég sima mezei internet elérés engedély, amit az appok 99%-a birtokol. A lényeg, hogyha a felhasználó pontos helyére vagyok kiváncsi akkor a gps mellet csak és kizárólat bssid jöhet szóba, ha meg csak úgy nagyjából, akkor meg ezer más módja is van.
READ_PHONE_STATE:
évek óta ismert dolog, és a google füle botját sem mozgatta. Pedig ez egy igen komoly privacy issue, hisz ennek birtokában az appok legálisan férnek hozzá a készülékazonosítókhoz és legálisan mutogatnak a google-re. Ráadásul ezt az engedélyt maga a google is a "veszélyes" engedélyek közé sorolja.
Gyorsan javitotta... a hiba 2016 május-ban jött be, 2018. márciusában javították végleg (már ha most már sikerült nekik). Persze ki hogy értelmezi a gyorsant, lehet nálatok ez számít gyors hibajavításnak, akkor nem szóltam :)
Más:
Szerintem minden szoftverfejlesztő mérnök tisztában van vele, hogyha azt szeretné hogy a szoftver valami kevésbé legálisat csináljon, akkor nincs más dolga mint ráfogni egy bugra. "Ó nézd csak kikapcsoltad az adatgyüjtést és mégis gyüjti az adatokat tovább. Hát biztos valami fránya bug..."
Az hogy a READ_PHONE_STATE engedély átment a kód reviewen (feltételezem a google-nél van ilyen), átment a belső tesztelésen, sok mindent jelenthet, leginkább azt hogy ez tervezett volt. Ez nem olyan eset hogy nap-hold együttálláskor 10 évente egyszer ha a kertben egy fehér kecske legel, akkor elcrashel az app, mert erre nincs felkészítve és senki nem vette észre. Amikor meg kiderül, rá lehet mondani hogy bug.
És mostanában túl sok ilyen "bug" van, beszéljünk akár a Microsoftról (win 10 kikapcsolhatatlan adatgyüjtése ugyebár), akár a Facebookról (lásd ugye Cambridge analytika) akár a Google-ről.