3.2.3. Intent Compatibility
3.2.3.1. Core Application Intents
Android intents allow application components to request functionality from other Android
components. The Android upstream project includes a list of applications considered core Android
applications, which implements several intent patterns to perform common actions.
[C-0-1] Device implementations MUST preload one or more applications or service
components with an intent handler, for all the public intent filter patterns defined by the
following core android applications in AOSP:
Desk Clock
Browser
Calendar
Contacts
Gallery
GlobalSearch
Launcher
Music
Settings
3.2.3.2. Intent Resolution
[C-0-1] As Android is an extensible platform, device implementations MUST allow each
intent pattern referenced in
section 3.2.3.1
, except for Settings, to be overridden by third-
party applications. The upstream Android open source implementation allows this by
default.
[C-0-2] Dvice implementers MUST NOT attach special privileges to system applications'
use of these intent patterns, or prevent third-party applications from binding to and
assuming control of these patterns. This prohibition specifically includes but is not
limited to disabling the “Chooser” user interface that allows the user to select between
multiple applications that all handle the same intent pattern.
[C-0-3] Device implementations MUST provide a user interface for users to modify the
default activity for intents.
However, device implementations MAY provide default activities for specific URI patterns
(e.g. http://play.google.com) when the default activity provides a more specific attribute
for the data URI. For example, an intent filter pattern specifying the data URI
“http://www.android.com” is more specific than the browser's core intent pattern for
“http://”.
Android also includes a mechanism for third-party apps to declare an authoritative default
app linking
behavior
for certain types of web URI intents. When such authoritative declarations are defined in an
app's intent filter patterns, device implementations:
[C-0-4] MUST attempt to validate any intent filters by performing the validation steps
defined in the
Digital Asset Links specification
as implemented by the Package Manager
in the upstream Android Open Source Project.
[C-0-5] MUST attempt validation of the intent filters during the installation of the
application and set all successfully validated URI intent filters as default app handlers for
their URIs.
MAY set specific URI intent filters as default app handlers for their URIs, if they are
Page 29 of 132