("").
android.os.Build.PRODUCT
A value chosen by the device implementer containing the development name or code name of the
product (SKU). MUST be human-readable, but is not necessarily intended for view by end users. The
value of this field MUST be encodable as 7-bit ASCII and match the regular expression "^[a-zA-Z0-
9.,_-]+$".
android.os.Build.SERIAL
A hardware serial number, if available. The value of this field MUST be encodable as 7-bit ASCII and
match the regular expression "^([a-zA-Z0-9]{0,20})$".
android.os.Build.TAGS
A comma-separated list of tags chosen by the device implementer that further distinguish the build. For
example, "unsigned,debug". The value of this field MUST be encodable as 7-bit ASCII and match the
regular expression "^[a-zA-Z0-9.,_-]+$".
android.os.Build.TIME A value representing the timestamp of when the build occurred.
android.os.Build.TYPE
A value chosen by the device implementer specifying the runtime configuration of the build. This field
SHOULD have one of the values corresponding to the three typical Android runtime configurations:
"user", "userdebug", or "eng". The value of this field MUST be encodable as 7-bit ASCII and match the
regular expression "^[a-zA-Z0-9.,_-]+$".
android.os.Build.USER
A name or user ID of the user (or automated user) that generated the build. There are no requirements
on the specific format of this field, except that it MUST NOT be null or the empty string ("").
3.2.3. Intent Compatibility
Device implementations MUST honor Android's loose-coupling Intent system, as described in the sections below.
By "honored", it is meant that the device implementer MUST provide an Android Activity or Service that specifies a
matching Intent filter and binds to and implements correct behavior for each specified Intent pattern.
3.2.3.1. Core Application Intents
The Android upstream project defines a number of core applications, such as contacts, calendar, photo gallery,
music player, and so on. Device implementers MAY replace these applications with alternative versions.
However, any such alternative versions MUST honor the same Intent patterns provided by the upstream project. For
example, if a device contains an alternative music player, it must still honor the Intent pattern issued by third-party
applications to pick a song.
The following applications are considered core Android system applications:
Desk Clock
Browser
Calendar
Contacts
Gallery
GlobalSearch
Launcher
Music
Settings
The core Android system applications include various Activity, or Service components that are considered "public".
That is, the attribute "android:exported" may be absent, or may have the value "true".
For every Activity or Service defined in one of the core Android system apps that is not marked as non-public via
an android:exported attribute with the value "false", device implementations MUST include a compontent of the
same type implementing the same Intent filter patterns as the core Android system app.
In other words, a device implementation MAY replace core Android system apps; however, if it does, the device
implementation MUST support all Intent patterns defined by each core Android system app being replaced.
3.2.3.2. Intent Overrides
As Android is an extensible platform, device implementations MUST allow each Intent pattern referenced in Section
3.2.3.2 to be overridden by third-party applications. The upstream Android open source implementation allows this
by default; device 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 which allows the user to select
between multiple applications which all handle the same Intent pattern.
However, device implementations MAY provide default activities for specific URI patterns (eg.
http://play.google.com) if the default activity provides a more specific filter for the data URI. For example, an intent
filter specifying the data URI "http://www.android.com" is more specific than the browser filter for "http://". Device
implementations MUST provide a user interface for users to modify the default activity for intents.
3.2.3.3. Intent Namespaces
Device implementations MUST NOT include any Android component that honors any new Intent or Broadcast