aboutsummaryrefslogtreecommitdiff
path: root/4_application-packaging
diff options
context:
space:
mode:
authorSuprabh Shukla <suprabh@google.com>2017-06-19 12:09:37 -0700
committerVikas Marwaha <vikasmarwaha@google.com>2017-07-27 21:28:52 +0000
commit432b492300dd9004c8ada9664a5a804d482557a1 (patch)
tree68dd9e5e4d5780e47d198b394ca9f0ef9135a2e4 /4_application-packaging
parentcae42c641085d3891f75479e5024e3fd0de26281 (diff)
downloadcdd-432b492300dd9004c8ada9664a5a804d482557a1.tar.gz
CDD: Add reqs for new per-app unknown sources install permission.
Android 8.0 introduces a more granular control for installing appplication packages from unknown sources by adding a new `REQUEST_INSTALL_PACKAGES` permission. It also introduces a new settings menu to allow the user to grant/revoke this permission. Test: N/A Bug: 38463484 Change-Id: I52fa0a0665395c0f8e50d700b852ee97958af382
Diffstat (limited to '4_application-packaging')
-rw-r--r--4_application-packaging/4_0_intro.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/4_application-packaging/4_0_intro.md b/4_application-packaging/4_0_intro.md
index 2fe2d2f..ad2be7a 100644
--- a/4_application-packaging/4_0_intro.md
+++ b/4_application-packaging/4_0_intro.md
@@ -23,3 +23,21 @@ permission. The only exceptions are the system package verifier app handling
[PACKAGE_NEEDS_VERIFICATION](https://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_NEEDS_VERIFICATION)
intent and the storage manager app handling [ACTION_MANAGE_STORAGE](https://developer.android.com/reference/android/os/storage/StorageManager.html#ACTION_MANAGE_STORAGE)
intent.
+
+Device implementations MUST NOT install application packages from unknown
+sources, unless the app that [requests the installation](https://developer.android.com/reference/android/content/Intent.html#ACTION_INSTALL_PACKAGE)
+meets all the following requirements:
+
+* It MUST declare the [`REQUEST_INSTALL_PACKAGES`](http://developer.android.com/reference/android/Manifest.permission.html#REQUEST_INSTALL_PACKAGES)
+ permission or have the `android:targetSdkVersion` set at 24 or lower.
+* It MUST have been granted permission by the user to install apps from
+ unknown sources.
+
+Device implementations MUST have an activity that handles the
+[`android.settings.MANAGE_UNKNOWN_APP_SOURCES`](http://developer.android.com/reference/android/provider/Settings.html#ACTION_MANAGE_UNKNOWN_APP_SOURCES)
+intent. They SHOULD provide a user affordance to grant/revoke the permission to
+install apps from unknown sources per application, but MAY choose to implement
+this as a no-op and return `RESULT_CANCELED` for [`startActivityForResult()`](http://developer.android.com/reference/android/app/Activity.html#startActivityForResult%28android.content.Intent, int%29),
+if the device implementation does not want to allow users to have this choice.
+However even in such cases, they SHOULD indicate to the user why there is no such
+choice presented.