2016-06-27 68 views
0

我得到這個錯誤:拋出:SecurityException與targestsdk低於23(20)

Non-fatal Exception: java.lang.SecurityException 
Client must have ACCESS_FINE_LOCATION permission to request PRIORITY_HIGH_ACCURACY locations. 

我有我的清單這些權限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

我從來沒有經歷過這樣的錯誤,直到6機器人(它實際上只發生過一次Android5)

事情是我的targestSdk低於23,它是20,所以我認爲我不應該遇到這樣的問題。

回答

0

我想你是在6.0+仿真器上運行它,並且你的targetSdkVersion爲23或更高。

在這種情況下,ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATIONthe Android 6.0 runtime permission system的一部分。請修改您的應用參與此係統,或者將您的targetSdkVersion降至23以下。

+0

你看過我寫過我的tragetSdk已經在23以下嗎? – BVtp

+0

然後只使用ACCESS_FINE_LOCATION權限 –

0

這可能發生在Android 6.如果應用程序使用低於23的SDK構建,則開發人員無權訪問檢查權限API。在Android 6上安裝此類應用程序時,所有權限均設置爲true。然而,電話用戶仍然可以進入設置並關閉權限(當權限關閉時,他會彈出該應用程序可能會崩潰,因爲它與權限撤銷不兼容)。

您可以更新您的應用程序(這是更好的選擇),或者將問題保持原樣。

+0

通過更新我的應用程序,您的意思是將targetSdk增加到23,並在需要時顯示請求權限彈出窗口? – BVtp

+0

是的,那正是我的意思。 Android SDK正在發生變化,我們應該對此做出反應。 –

+0

它怎麼沒有在所有的android 6設備上崩潰?只是特定情況 – BVtp

相關問題