前言
谷歌有一點點的蛋疼,沒想到定位也需要加上版本的判斷了,再此總結下定位權限以及WiFi AP SSID的獲取。
安卓9.0定位權限
安卓系統在9.0之後如果不開啓手機的GPS服務功能,應用即使已經獲取到定位權限,也無法進行定位,開啓GPS服務後,應用纔可以有效定位。(我們用的是百度地圖)。
9.0系統限制比較多,再此多說一句,因爲我做的是打卡相關的業務。
1.9.0系統不開啓GPS(應用有定位權限)
無法獲取路由器ap地址(bssid),無法獲取wifi名稱(ssid),獲取到的wifi ssid是unknown ssid.
截圖如下:
有人可能會問了,這個mac地址不是有嗎?首先下面的mac地址爲該手機的mac地址,這個不受GPS和定位權限的影響,並不是路由器的ap地址。
開啓後上述情況正常(不再截屏),可以正確的獲取到wifi ssid 和 bssid(路由器ap地址)
屬實有點蛋疼。
Tips:9.0系統手機必須開啓GPS,有些手機需要開啓高精度模式,同時應用具有定位權限,纔可以獲取定位權限。
2.安卓系統低於9.0
安卓系統低於9.0,應用獲取到定位權限後,可以進行定位,無需開啓手機的GPS服務功能。(不再提供截屏)
總結:不得不說,安卓坑的地方比較多,但是我們要善於總結,代碼如下,比較簡單,僅供參考.
代碼地址,僅供參考