@Retention(value=CLASS)
@Target(value={ANNOTATION_TYPE,METHOD,CONSTRUCTOR,FIELD})
public @interface RequiresPermission
@RequiresPermission(Manifest.permission.SET_WALLPAPER)
public abstract void setWallpaper(Bitmap bitmap) throws IOException;
@RequiresPermission(ACCESS_COARSE_LOCATION)
public abstract Location getLastKnownLocation(String provider);
Example of requiring at least one permission from a set:
@RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
public abstract Location getLastKnownLocation(String provider);
Example of requiring multiple permissions:
@RequiresPermission(allOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
public abstract Location getLastKnownLocation(String provider);
Example of requiring separate read and write permissions for a content provider:
@RequiresPermission.Read(@RequiresPermission(READ_HISTORY_BOOKMARKS))
@RequiresPermission.Write(@RequiresPermission(WRITE_HISTORY_BOOKMARKS))
public static final Uri BOOKMARKS_URI = Uri.parse("content://browser/bookmarks");
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String[] |
allOf
Specifies a list of permission names that are all required.
|
java.lang.String[] |
anyOf
Specifies a list of permission names where at least one is required
|
boolean |
conditional
If true, the permission may not be required in all cases (e.g.
|
java.lang.String |
value
The name of the permission that is required, if precisely one permission
is required.
|
public abstract java.lang.String value
allOf()
or anyOf()
instead.
public abstract java.lang.String[] allOf
public abstract java.lang.String[] anyOf
public abstract boolean conditional