Struct android_manifest::Permission[][src]

pub struct Permission {
    pub description: Option<Resource<StringResource>>,
    pub icon: Option<Resource<DrawableResource>>,
    pub label: Option<StringResourceOrString>,
    pub name: Option<String>,
    pub permission_group: Option<String>,
    pub protection_level: Option<ProtectionLevel>,
}
Expand description

Declares a security permission.

That can be used to limit access to specific components or features of this or other applications. See the Permissions section in the introduction, and the Security and Permissions document for more information on how permissions work.

XML Syntax

<permission android:description="string resource"
            android:icon="drawable resource"
            android:label="string resource"
            android:name="string"
            android:permissionGroup="string"
            android:protectionLevel=["normal" | "dangerous" |
                        "signature" | ...] />

Contained in

Introduced in

API Level 1

Fields

description: Option<Resource<StringResource>>

A user-readable description of the permission, longer and more informative than the label. It may be displayed to explain the permission to the user — for example, when the user is asked whether to grant the permission to another application.

This attribute must be set as a reference to a string resource; unlike the label unlike the label attribute, it cannot be a raw string.

icon: Option<Resource<DrawableResource>>

A reference to a drawable resource for an icon that represents the permission.

label: Option<StringResourceOrString>

A name for the permission, one that can be displayed to users. As a convenience, the label can be directly set as a raw string while you’re developing the application. However, when the application is ready to be published, it should be set as a reference to a string resource, so that it can be localized like other strings in the user interface.

name: Option<String>

The name of the permission. This is the name that will be used in code to refer to the permission — for example, in a <uses-permission> element and the permission attributes of application components.

Note

The system does not allow multiple packages to declare a permission with the same name, unless all the packages are signed with the same certificate. If a package declares a permission, the system does not permit the user to install other packages with the same permission name, unless those packages are signed with the same certificate as the first package. To avoid naming collisions, we recommend using reverse-domain-style naming for custom permissions, for example com.example.myapp.ENGAGE_HYPERSPACE.

permission_group: Option<String>

Assigns this permission to a group. The value of this attribute is the name of the group, which must be declared with the <permission-group> element in this or another application. If this attribute is not set, the permission does not belong to a group.

protection_level: Option<ProtectionLevel>

Characterizes the potential risk implied in the permission and indicates the procedure the system should follow when determining whether or not to grant the permission to an application requesting it.

Each protection level consists of a base permission type and zero or more flags. For example, the "dangerous" protection level has no flags. In contrast, the protection level "signature|privileged" is a combination of the "signature" base permission type and the "privileged" flag.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.