- 語法:
<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>
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2024-08-22 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2024-08-22 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-08-22 (世界標準時間)。"]]