Android8 0以上Wi Fi資訊許可權管理

2021-10-06 03:59:46 字數 1890 閱讀 8137

android8(api級別26)引入了有關許可權和wlan掃瞄允許頻率限制。

為了提高網路安全和效能穩定性,android9(api級別28)收緊了許可權要求,並進一步限制wlan掃瞄頻率。

許可權:android 8.0 和 android 8.1

成功呼叫wifimanager.getscanresults()需要以下任意一項許可權:

• access_fine_location

• access_coarse_location

• change_wifi_state

如果呼叫應用沒有其中任意一項許可權,則呼叫失敗,並顯示secu

rityexception;

android 9:

成功呼叫wifimanager.startscan()需要滿足以下所有條件:

• 應用擁有access_fine_location或access_corase_location許可權

• 應用擁有change_wifi_state許可權

• 應用已啟用位置服務(settings->location)

android 10(api級別29)或更高版本

成功呼叫wifimangaer.startscan()需要滿足以下所有條件:

• 如果應用適配android10(api級別29)sdk或更高版本,則應用需要擁有access_fine_location許可權;

• 如果應用適配低於android10(api級別29)的sdk,則應用需要擁有access_coarse_location或access_fine_location

• 應用擁有change_wifi_state許可權

• 裝置已啟用裝置位置服務(settings->location)

若要成功呼叫wifimanager.getscanresults(),需確保滿足以下條件:

• 應用擁有access_fine_location或access_coarse_location

• 應用擁有access_wifi_state許可權

• 裝置已啟用位置服務(settings->location)

如果呼叫應用無法滿足上述所有要求,則呼叫將失敗,並顯示securityexception

類似的限制也適用於getconnectinfo函式,該函式返回wifiinfo物件,通過該物件檢索ssid和bssid需要具備以下條件:

android 8.0/android 8.1與wifimanager.getscanresults()所需許可權一致;

android9.0需要滿足以下條件

• access_fine_location或access_coarse_location

• access_wifi_state

• 裝置上啟用位置服務(settings->location)

android10需要滿足以下條件:

• access_fine_location

在android眾多系統中,有些定製性系統,雖然是8.1系統,但是對於wi-fi資訊的限制不只是對access_fine_location的限制,還需要新增gps定位服務,所以可以簡單粗暴在sdk>26時,讓使用者允許access_fine_location許可權且開啟位置服務;

判斷gps是否開啟:

private

boolean

isgpsenabel()

開啟位置服務:

private

void

opengpsactivity()

Android 8 0的WIFI 架構差異分析

android o的scan跟之前android版本存在的差異 commit 7e552863cea67e57b375f3db15e0baf70e22c39e author tony mantler google.com date fri jan811 12 492016 0800 start us...

android8 0適配工作

整個8.0適配,設計的部分包括6部分 我專案中的,其他的適配感覺並不會影響專案的執行 1 執行時許可權 2 通知notifaction適配 3 未知 apk安裝適配 4 後台執行限制 後台服務 5 懸浮框適配 6 集合的處理 abstractcollection使用限制 android6.0的執行時...

Android 8 0 上面關於wifi 的一些坑

背景 現在安卓系統已經更新到8.0了。曾經開啟手機wifi以及搜尋wifi的方法可能對8.0的安卓系統不管用了。這裡就提一些在開發中遇到的坑。一.開啟wifi 以及 關閉wifi 首先需要開啟修改系統設定的許可權 然後如果是sdk26以上的版本,就用下面的 開啟或關閉wifi。在網上也能搜到一些別人...