自定義權限,主要用于保護被賦予權限的組件。
安卓中目前,我只在設置屬性 exported 為 true 的 Activity 中使用過。
下面記錄一下自定義權限方法:
1.首先需要聲明這個權限:
<permission
android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permissionGroup="string"
android:protectionLevel=["normal" | "dangerous" | "signature" | "signatureOrSystem"] />
屬性 | 含義 | 是否必須 |
---|---|---|
name | 自定義的權限名稱,需要遵循Android權限定義命名方案:.permission. | 是 |
protectionLevel | 與權限相關的"風險級別"。必須是以下值之一: normal,dangerous, signature, signatureOrSystem 。這取決于保護級別,在確定是否授予權限時,系統可能采取不同的操作。normal 表示權限是低風險的,不會對系統、用戶或其他應用程序造成危害;dangerous 表示權限是高風險的,系統將可能要求用戶輸入相關信息,才會授予此權限;signature 表示只有當應用程序所用數字簽名與聲明引權限的應用程序所用數字簽名相同時,才能將權限授給它;signatureOrSystem 表示將權限授給具有相同數字簽名的應用程序或android 包類。這一保護級別適和于非常特殊的情況,比如多個供應商需要通過系統映像共享功能時 | 是 |
permissionGroup | 可以將權限放在一個組中,但對于自定期義權限,應該避免設置此屬性。如果確實希望設置此屬性,可能使用以下屬性代替:android.permisson-group.SYSTEM_TOOLS | 否 |
label | 可使用它對權限進行簡短描述 | 否 |
description | 使用它提供對權限用途和所保護對象的更有用的描述 | 否 |
icon | 權限可以與資源目錄以外的圖標相關聯 ( 比如@drawable/myicon) | 否 |
- 使用權限
注意兩點:
- 1.使用時,使用到這個權限的應用都需要聲明這個權限
- 2.權限的格式為 .permission.
累了,不想寫