語法:
<permission android:description="string resource"
            android:icon="drawable resource"
            android:label="string resource"
            android:name="string"
            android:permissionGroup="string"
            android:protectionLevel=["normal" | "dangerous" |
                                     "signature" | ...] />
包含於:
<manifest>
說明:
宣告安全性權限,以限制此應用程式或其他應用程式特定元件或功能的存取權。如要進一步瞭解權限的運作方式,請參閱簡介中的「權限」一節及安全性與權限文件。
屬性:
android:description
使用者可讀的權限說明,比標籤更長、資訊更完整,會在需要說明權限時向使用者顯示,例如詢問使用者是否要將權限授予其他應用程式時。

這個屬性必須設為參照字串資源;不能是原始字串 (這點與 label 屬性不同)。

android:icon
參照可繪製資源,以做為代表權限的圖示。
android:label
能夠向使用者顯示的權限名稱。

為了方便起見,您可以在開發應用程式時,直接將標籤設為原始字串。不過,當您準備發布應用程式時,請將其設定為字串資源的參照,這樣才能像使用者介面中的其他字串一樣進行本地化。

android:name
權限的名稱。這個名稱會在程式碼中用來參照權限,例如,在 <uses-permission> 元素和應用程式元件的 permission 屬性中。

注意:除非所有套件使用同一個憑證簽署,否則系統不允許多個套件宣告名稱相同的權限。如果套件宣告了一項權限,系統將不允許使用者安裝具有相同權限名稱的其他套件,除非這些套件也使用與第一個套件相同的憑證簽署。

建議您使用反轉網域的命名方式在權限前方加入應用程式套件名稱。這個前置字串應該位於 .permission.後方,再來是權限代表功能的說明,並以大寫 SNAKE_CASE 撰寫。例如:com.example.myapp.permission.ENGAGE_HYPERSPACE

按照此推薦方式命名,即可避免使用相同命名,也能清楚辨識自訂權限的擁有者和意圖。

android:permissionGroup
將這項權限指派給群組。這個屬性的值是群組名稱,必須使用 <permission-group> 元素在此應用程式或其他應用程式中宣告。如未設定此屬性,權限就不屬於任何群組。
android:protectionLevel

說明權限中隱含的潛在風險,並指出系統在判斷是否將權限授予提出要求的應用程式時,應遵循的程序。

每個防護等級都包含基本權限類型以及零個或多個旗標。舉例來說,"dangerous" 防護等級不含任何旗標。反之,防護等級 "signature|privileged" 結合了 "signature" 基本權限類型與 "privileged" 旗標。

下表列出所有基本權限類型。如需旗標清單,請參閱 protectionLevel

意義
normal 預設值。低風險的權限,允許要求權限的應用程式存取隔離的應用程式層級功能,對其他應用程式、系統或使用者造成的風險最低。系統會自動在安裝期間將這類權限授予要求權限的應用程式,而不另外徵詢使用者的明確核准 (不過,使用者一律可以在安裝前審查這些權限)。
dangerous 較高風險的權限,允許要求權限的應用程式存取使用者私人資料,或控制可能對使用者造成負面影響的裝置。由於這類權限可能會引入潛在風險,因此系統不會自動將這類權限授予要求權限的應用程式。舉例來說,系統可能會向使用者顯示應用程式要求的任何危險權限,並請使用者確認後再繼續操作;或採取其他方法來避免使用者自動允許使用這類功能。
signature 要求權限的應用程式用來簽署的憑證必須與宣告權限的應用程式相同,系統才會授予此權限。如果憑證相符,系統會自動授予權限,而不會通知使用者或徵詢使用者的明確核准。
signatureOrSystem

"signature|privileged" 的舊版同義詞,已於 API 級別 23 淘汰。

系統僅對符合下列條件的應用程式授予此權限:位於 Android 系統映像檔專屬資料夾中,「或」用於簽署的憑證與宣告權限的應用程式相同。請勿使用這個選項,因為 signature 防護等級就能滿足大部分需求,而且不論應用程式安裝在何處,都能正常運作。「signatureOrSystem」權限僅適用於以下特殊情境:多個供應商的應用程式建構於一個系統映像檔中;且因為建構在一起,而需要明確共用特定功能。

導入版本:
API 級別 1
另請參閱:
<uses-permission>
<permission-tree>
<permission-group>