CarAppPermission

public final class CarAppPermission


Defines all constants for permissions that a car app can use.

Summary

Constants

static final String
ACCESS_SURFACE = "androidx.car.app.ACCESS_SURFACE"

Permission that apps can use to get access to a canvas surface.

static final String
MAP_TEMPLATES = "androidx.car.app.MAP_TEMPLATES"

Permission that apps can use to get access to templates that show a map such as androidx.car.app.model.PlaceListMapTemplate.

static final String
NAVIGATION_TEMPLATES = "androidx.car.app.NAVIGATION_TEMPLATES"

Permission that apps can use to get access to the navigation templates of the car app library.

Public methods

static void
checkHasLibraryPermission(
    @NonNull Context context,
    @NonNull String permission
)

Checks that the car app has declared the required library permission.

static void
checkHasPermission(@NonNull Context context, @NonNull String permission)

Checks that the car app has the given permission granted.

Constants

ACCESS_SURFACE

Added in 1.0.0
public static final String ACCESS_SURFACE = "androidx.car.app.ACCESS_SURFACE"

Permission that apps can use to get access to a canvas surface.

This surface can be used for drawing custom content like navigation apps can use it to draw a map.

MAP_TEMPLATES

Added in 1.0.0
public static final String MAP_TEMPLATES = "androidx.car.app.MAP_TEMPLATES"

Permission that apps can use to get access to templates that show a map such as androidx.car.app.model.PlaceListMapTemplate. Templates used by navigation apps that draw their own maps (e.g. androidx.car.app.navigation.model.PlaceListNavigationTemplate) don't require this permission.

This permission should only be declared by apps that belong to one of the categories that allow using the map templates. See the documentation for the list of such categories. An app not in one of those categories requesting this permission may be rejected upon submission to the Play Store. See CarAppService for how to declare your app's category.

Added in 1.0.0
public static final String NAVIGATION_TEMPLATES = "androidx.car.app.NAVIGATION_TEMPLATES"

Permission that apps can use to get access to the navigation templates of the car app library.

This permission should only be declared by apps that belong to one of the categories that allow using the navigation templates. See the documentation for the list of such categories. An app not in one of those categories requesting this permission may be rejected upon submission to the Play Store. See CarAppService for how to declare your app's category.

Public methods

checkHasLibraryPermission

Added in 1.0.0
public static void checkHasLibraryPermission(
    @NonNull Context context,
    @NonNull String permission
)

Checks that the car app has declared the required library permission.

In contrast to checkHasPermission, this method will validate that the app has at least declared the permission requested.

Throws
java.lang.SecurityException

if the app does not have the required permission declared

checkHasPermission

Added in 1.0.0
public static void checkHasPermission(@NonNull Context context, @NonNull String permission)

Checks that the car app has the given permission granted.

Throws
java.lang.SecurityException

if the app does not have a required permission granted