Struct android_manifest::UsesPermissionSdk23[][src]

pub struct UsesPermissionSdk23 {
    pub name: Option<String>,
    pub max_sdk_version: Option<i32>,
}
Expand description

Specifies that an app wants a particular permission.

But only if the app is installed on a device running Android 6.0 (API level 23) or higher. If the device is running API level 22 or lower, the app does not have the specified permission.

This element is useful when you update an app to include a new feature that requires an additional permission. If a user updates an app on a device that is running API level 22 or lower, the system prompts the user at install time to grant all new permissions that are declared in that update. If a new feature is minor enough, you may prefer to disable the feature altogether on those devices, so the user does not have to grant additional permissions to update the app. By using the <uses-permission-sdk-23> element instead of <uses-permission>, you can request the permission only if the app is running on platforms that support the runtime permissions model in which the user grants permissions to the app while it is running. For more information on permissions, see the Permissions section in the introduction and the separate System Permissions API guide. A list of permissions defined by the base platform is available at android.Manifest.permission.

XML Syntax

 <uses-permission-sdk-23 android:name="string"
                         android:maxSdkVersion="integer" />

Contained in

<manifest>

introduced in:

API Level 23

Fields

name: Option<String>

The name of the permission. This permission can be defined by the app with the <permission> element, it can be a permission defined by another app, or it can be one of the standard system permissions, such as android.permission.CAMERA or android.permission.READ_CONTACTS.

max_sdk_version: Option<i32>

The highest API level at which this permission should be granted to your app. If the app is installed on a device with a later API level, the app is not granted the permission and cannot use any related functionality.

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.