<uses-permission>

注意:在某些情況下,您透過 <uses-permission> 要求的權限可能會影響 Google Play 篩選應用程式的方式。如果您要求硬體相關權限 (例如 CAMERA),Google Play 會假設您的應用程式需要基礎硬體功能,並從不支援該功能的裝置篩選應用程式。

如要控制篩選功能,請一律在 <uses-feature> 元素中明確宣告硬體功能,不要仰賴 Google Play「探索」<uses-permission> 元素的需求。然後,如要針對特定功能停用篩選,您可以在 <uses-feature> 宣告中加入 android:required="false" 屬性。

如需隱含硬體功能的權限清單,請參閱 <uses-feature> 元素的說明文件。

語法:
<uses-permission android:name="string"
        android:maxSdkVersion="integer" />
包含於:
<manifest>
說明:
指定使用者必須授予哪項系統權限,應用程式才能正常運作。在搭載 Android 5.1 以下版本的裝置上安裝應用程式,或在搭載 Android 6.0 以上版本的裝置上執行應用程式時,使用者皆會授予權限。

如要進一步瞭解權限,請參閱應用程式資訊清單總覽中的「權限」一節,以及「Android 中的權限」指南。您可以在 android.Manifest.permission 查看基礎平台定義的權限清單。

屬性:
android:name
權限的名稱。這可以是應用程式使用 <permission> 元素定義的權限、其他應用程式定義的權限,或是標準的系統權限,例如 "android.permission.CAMERA""android.permission.READ_CONTACTS"。如這些範例所示,權限名稱通常以套件名稱做為前置字元。
android:maxSdkVersion
應用程式能取得此權限的最高 API 級別。如果從特定 API 級別開始就不再需要用到應用程式所需的權限,設定此屬性將非常實用。

舉例來說,自 Android 4.4 (API 級別 19) 起,應用程式不再需要請求 WRITE_EXTERNAL_STORAGE 權限,即可在外部儲存空間寫入其專屬的特定目錄 (由 getExternalFilesDir() 提供)。

不過,API 級別 18 以下則「需要」權限。因此,您可以透過下列宣告,聲明只有 API 級別 18 以下需要此權限:

<uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     android:maxSdkVersion="18" />

這樣一來,從 API 級別 19 開始,系統就不會再將 WRITE_EXTERNAL_STORAGE 權限授予您的應用程式。

已在 API 級別 19 中新增。

導入版本:
API 級別 1
另請參閱: