從Android 6.0(API級別23)開始,我們可以在運行時詢問權限。但是,根據文檔,所有權限仍然需要在AndroidManifest.xml中定義,因此在低於23的API中,這些權限將在安裝該應用程序之前被授予。基於API級別的請求權限
我只希望在運行時請求ACCESS_FINE_LOCATION
權限 - 因爲這是一個敏感權限,所以在安裝之前請求它沒有任何上下文會導致下載量下降。
我針對的是API級別11+的應用程序,所以我想知道是否有可能不要求舊版API中的ACCESS_FINE_LOCATION
權限(即,未在AndroidManifest中爲23以上的API列出),並且只請求它爲API 23 +。
更新
爲了澄清,我想知道是否可以做到以下幾點:
AndroidManifest.xml中
IF API_LEVEL>=23: {
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
}
ELSE:
{
}
在運行時,您可以通過版本把權限檢查,如果版本> = 23比檢查運行時權限,否則什麼都不做....... –
@ Er.Arjunsaini,我不需要在AndroidManifest.xml中靜態列出這個權限嗎? – Ohad
「在所有版本的Android上,您的應用程序需要在其應用程序清單中聲明正常和危險的權限,如聲明權限中所述。「 – Ohad