diff options
| author | 2019-01-04 14:01:51 -0800 | |
|---|---|---|
| committer | 2019-01-04 14:40:33 -0800 | |
| commit | 1bfef2cadebd910e4de958823a34aabfeea759cb (patch) | |
| tree | f5422d66628a39173fa35a68f62887ee65797a59 | |
| parent | e4e854c04c8e5a74402e25a5c0174e4fc7b91234 (diff) | |
Add intent for permission usage info learn more
The manifest permission usage info declarations are limited in what they
allow the applications to specify. Applications can have an activity for
that handles this intent in order to provide free form application
specific details such as privacy policies, specific examples, etc.
Test: API definition, usage will follow
Bug: 111207567
Change-Id: I90b292e4c1cb8847a9a9d7b8071aaff2ee7d11fb
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/content/Intent.java | 22 |
2 files changed, 24 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 541d0c43502b..a56b097f5578 100644 --- a/api/current.txt +++ b/api/current.txt @@ -10199,6 +10199,7 @@ package android.content { field public static final java.lang.String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED"; field public static final java.lang.String ACTION_PACKAGE_VERIFIED = "android.intent.action.PACKAGE_VERIFIED"; field public static final java.lang.String ACTION_PASTE = "android.intent.action.PASTE"; + field public static final java.lang.String ACTION_PERMISSION_USAGE_DETAILS = "android.intent.action.PERMISSION_USAGE_DETAILS"; field public static final java.lang.String ACTION_PICK = "android.intent.action.PICK"; field public static final java.lang.String ACTION_PICK_ACTIVITY = "android.intent.action.PICK_ACTIVITY"; field public static final java.lang.String ACTION_POWER_CONNECTED = "android.intent.action.ACTION_POWER_CONNECTED"; @@ -10323,6 +10324,7 @@ package android.content { field public static final java.lang.String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE"; field public static final java.lang.String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI"; field public static final java.lang.String EXTRA_PACKAGE_NAME = "android.intent.extra.PACKAGE_NAME"; + field public static final java.lang.String EXTRA_PERMISSION_USAGE_PERMISSIONS = "android.intent.extra.PERMISSION_USAGE_PERMISSIONS"; field public static final java.lang.String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER"; field public static final java.lang.String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT"; field public static final java.lang.String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY"; diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 7b3497b8b483..ab60b845e6fe 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -816,6 +816,28 @@ public class Intent implements Parcelable, Cloneable { = "android.intent.action.SHOW_APP_INFO"; /** + * Activity Action: Start an activity to show the app's detailed usage information for + * permission protected data. + * + * The Intent contains an extra {@link #EXTRA_PERMISSION_USAGE_PERMISSIONS} that is of + * type {@code String[]} and contains the specific permissions to show information for. + * + * Apps should handle this intent if they want to provide more information about permission + * usage to users beyond the information provided in the manifest. + */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_PERMISSION_USAGE_DETAILS = + "android.intent.action.PERMISSION_USAGE_DETAILS"; + + /** + * The name of the extra used to contain the permissions in + * {@link #ACTION_PERMISSION_USAGE_DETAILS}. + * @see #ACTION_PERMISSION_USAGE_DETAILS + */ + public static final String EXTRA_PERMISSION_USAGE_PERMISSIONS = + "android.intent.extra.PERMISSION_USAGE_PERMISSIONS"; + + /** * Represents a shortcut/live folder icon resource. * * @see Intent#ACTION_CREATE_SHORTCUT |