我有一個Android應用程序訪問設備的位置,然後查詢WiFi參數。一切都通常順利。在Android 6上禁用位置權限似乎會影響WiFi參數查詢
如果我關閉應用的位置權限(就像我在Android 6中可以做的那樣),我不再獲取設備的位置(如預期的那樣)。不過,當我嘗試查詢WiFi參數時,我也會得到一個修改的WiFiInfo對象。特別是:
- getScanResults()通常會列出所有可用的網絡,但是在關閉位置的情況下,它只包含設備所連接的網絡。
- 如果我查看找到的網絡的功能,該字符串是空的。通常它包含無線加密信息等信息。
有沒有其他人看過這個?我已經使用相同的代碼對位置權限在2個不同設備上開啓/關閉進行了驗證。有什麼想法發生了什麼?
更新:在進一步審查時,我說getScanResults()返回關於設備連接到的AP的信息時出錯。它實際上返回一個空的列表。這將支持這樣的想法,即如果Location權限被拒絕,Google不希望我們獲得有關本地AP的任何信息。
您的目標是API 23嗎? – kcoppock
從mainfest: <使用-SDK 機器人:的minSdkVersion = 「11」 機器人:targetSdkVersion = 「19」/> 爲什麼要此事? –
好的,我剛剛讀了一些東西,並理解了這個問題。如果您的目標是API 23,那麼您在安裝時就不會獲得所請求的權限,並且必須在運行時動態詢問它們。這不是我所處的情況 - 我的目標是一個較舊的API,問題在於用戶明確拒絕了我剛纔相信的東西。 –