public class PermissionInfo
extends PackageItemInfo
implements Parcelable
java.lang.Object | ||
↳ | android.content.pm.PackageItemInfo | |
↳ | android.content.pm.PermissionInfo |
您可以检索有关系统已知的特定安全权限的信息。 这对应于从AndroidManifest.xml的<permission>标签收集的信息。
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<PermissionInfo> |
CREATOR |
public int |
descriptionRes 此权限描述的字符串资源标识符(位于程序包的资源中)。 |
public int |
flags 有关此权限的其他标志由 |
public String |
group 根据 |
public CharSequence |
nonLocalizedDescription AndroidManifest文件中提供的描述字符串(如果有的话)。 |
public int |
protectionLevel 根据 |
Inherited fields |
---|
From class android.content.pm.PackageItemInfo
|
Public constructors |
|
---|---|
PermissionInfo() |
|
PermissionInfo(PermissionInfo orig) |
Public methods |
|
---|---|
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
CharSequence |
loadDescription(PackageManager pm) 检索此权限的文本说明。 |
String |
toString() 返回对象的字符串表示形式。 |
void |
writeToParcel(Parcel dest, int parcelableFlags) |
Inherited methods |
|
---|---|
From class android.content.pm.PackageItemInfo
|
|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
int FLAG_COSTS_MONEY
标志为 flags
,对应 costsMoney
值为 permissionFlags
。
常数值:1(0x00000001)
int FLAG_INSTALLED
标志为 flags
,表示此权限已安装到系统的全局定义权限中。
常量值:1073741824(0x40000000)
int PROTECTION_DANGEROUS
protectionLevel
危险值,对应于 dangerous
值 protectionLevel
。
常数值:1(0x00000001)
int PROTECTION_FLAG_APPOP
protectionLevel
附加标志,对应于 appop
值 protectionLevel
。
常量值:64(0x00000040)
int PROTECTION_FLAG_DEVELOPMENT
为额外的标志 protectionLevel
,对应于 development
的值 protectionLevel
。
常量值:32(0x00000020)
int PROTECTION_FLAG_INSTALLER
protectionLevel
附加标志,对应于 installer
值 protectionLevel
。
常量值:256(0x00000100)
int PROTECTION_FLAG_PRE23
protectionLevel
附加标志,对应于 pre23
值 protectionLevel
。
常量值:128(0x00000080)
int PROTECTION_FLAG_PREINSTALLED
protectionLevel
附加标志,对应于 preinstalled
值 protectionLevel
。
常量值:1024(0x00000400)
int PROTECTION_FLAG_PRIVILEGED
protectionLevel
附加标志,对应于 privileged
值 protectionLevel
。
常量值:16(0x00000010)
int PROTECTION_FLAG_SETUP
protectionLevel
附加标志,对应于 setup
值 protectionLevel
。
常量值:2048(0x00000800)
int PROTECTION_FLAG_SYSTEM
此常数在API级别23中已弃用。
旧名称为PROTECTION_FLAG_PRIVILEGED
,现在非常混乱,因为它只适用于特权应用程序,而不适用于系统映像中的所有应用程序。
常量值:16(0x00000010)
int PROTECTION_FLAG_VERIFIER
protectionLevel
附加标志,对应于 verifier
值 protectionLevel
。
常量值:512(0x00000200)
int PROTECTION_MASK_BASE
面膜为 protectionLevel
:基本保护类型。
常量值:15(0x0000000f)
int PROTECTION_MASK_FLAGS
protectionLevel
掩码:附加标志位。
常量值:4080(0x00000ff0)
int PROTECTION_NORMAL
protectionLevel
正常应用程序值,对应于 normal
值 protectionLevel
。
常量值:0(0x00000000)
int PROTECTION_SIGNATURE
protectionLevel
系统级值,对应于 signature
值 protectionLevel
。
常量值:2(0x00000002)
int PROTECTION_SIGNATURE_OR_SYSTEM
此常数在API级别23中已弃用。
使用PROTECTION_SIGNATURE
| PROTECTION_FLAG_PRIVILEGED
。
常量值:3(0x00000003)
int descriptionRes
此权限描述的字符串资源标识符(位于程序包的资源中)。 从“description”属性或如果未设置,则为0。
CharSequence nonLocalizedDescription
AndroidManifest文件中提供的描述字符串(如果有的话)。 您可能不想使用这个,因为如果描述位于资源中它将为空。 您可能需要loadDescription(PackageManager)
。
int protectionLevel
根据protectionLevel
,访问权限的级别得到保护。 值可以是PROTECTION_NORMAL
, PROTECTION_DANGEROUS
,或PROTECTION_SIGNATURE
。 也可能包含附加标志PROTECTION_FLAG_SYSTEM
或PROTECTION_FLAG_DEVELOPMENT
(这些附加标志仅与基础PROTECTION_SIGNATURE
结合使用才有意义。
PermissionInfo (PermissionInfo orig)
Parameters | |
---|---|
orig |
PermissionInfo
|
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
CharSequence loadDescription (PackageManager pm)
检索此权限的文本说明。 这将回调给定的PackageManager以从应用程序加载描述。
Parameters | |
---|---|
pm |
PackageManager : A PackageManager from which the label can be loaded; usually the PackageManager from which you originally retrieved this item. |
Returns | |
---|---|
CharSequence |
Returns a CharSequence containing the permission's description. If there is no description, null is returned. |
String toString ()
返回对象的字符串表示形式。 一般来说, toString
方法会返回一个“文本地表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel dest, int parcelableFlags)
Parameters | |
---|---|
dest |
Parcel
|
parcelableFlags |
int
|