<權限>

語法:
<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 屬性。

注意:系統不允許宣告多個套件 但前提是所有套件均使用 相同憑證如果套件宣告權限,系統將不允許 使用者並安裝具有相同權限名稱的其他套件。 簽署這些套件的憑證與第一個套件相同。

因此,Google 建議在權限前方加上應用程式套件名稱, 使用反向網域的命名方式 緊接此前置字串.permission.,後面加上 權限所代表的能力,以 SNAKE_CASE 的大寫格式表示。例如: com.example.myapp.permission.ENGAGE_HYPERSPACE。

按照這項建議命名,即可避免使用相同命名,也能清楚識別擁有者。 自訂權限的意圖

android:permissionGroup
將這項權限指派給群組。這個屬性的值是 群組名稱,會以 此元素中的 <permission-group> 個元素 或其他應用程式如未設定這項屬性,表示具備的權限 「就不會」加入群組
android:protectionLevel

說明權限中隱含的潛在風險。 指出系統在決定 是否將權限授予提出要求的應用程式。

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

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

值 意義
"normal" 預設值。風險較低的權限,允許要求者 應用程式可以使用獨立的應用程式層級功能 對其他應用程式、系統或使用者造成的風險最低。 系統會自動授予這類權限 允許在安裝時要求應用程式的權限 會要求使用者明確核准 您可以選擇在安裝之前檢查這些權限。
"dangerous" 風險較高的權限,會授予提出要求的應用程式權限 存取使用者私人資料,或控管可存取 對使用者造成負面影響因為這類權限 可能會發生潛在風險 授予提出要求的應用程式。例如任何 應用程式要求的權限可能會顯示給 要求使用者確認後再繼續進行,或是 避免使用者 這類設施的使用行為
"signature" 只有在要求權限時,系統才會授予權限 簽署應用程式的憑證與應用程式相同 宣告權限如果憑證相符,系統會自動授予權限,而不會通知使用者或徵詢使用者的明確核准。
"knownSigner" 只有在要求權限時,系統才會授予權限 應用程式已簽署 允許 憑證。如果其中列出要求者的憑證,系統會 自動授予權限,且不通知使用者或 事先取得使用者的明確核准
"signatureOrSystem"

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

系統僅對以下應用程式授予的權限: 放在 Android 系統映像檔的專屬資料夾中,或 使用與宣告 權限。避免使用這個選項,因為 "signature" 防護等級足以滿足大多數需求,而且無論 以及應用程式的安裝位置

「"signatureOrSystem"」權限適用於特定特殊用途 多個供應商內建於單一系統中的應用程式 而且需要明確分享特定功能 共同建構的 AI 應用方式

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