2.4. Watch Requirements

An Android Watch device refers to an Android device implementation intended to be worn on the body, perhaps on the wrist.

Android device implementations are classified as a Watch if they meet all the following criteria:

  • Have a screen with the physical diagonal length in the range from 1.1 to 2.5 inches.
  • Have a mechanism provided to be worn on the body.

The additional requirements in the rest of this section are specific to Android Watch device implementations.

2.4.1. Hardware

Watch device implementations:

  • [] MUST have a screen with the physical diagonal size in the range from 1.1 to 2.5 inches.

  • [7.2.3/W-0-1] MUST have the Home function available to the user, and the Back function except for when it is in UI_MODE_TYPE_WATCH.

  • [7.2.4/W-0-1] MUST support touchscreen input.

  • [7.3.1/W-SR] Are STRONGLY RECOMMENDED to include a 3-axis accelerometer.

If Watch device implementations include a GPS/GNSS receiver and report the capability to applications through the android.hardware.location.gps feature flag, they:

  • [7.3.3/W-1-1] MUST report GNSS measurements, as soon as they are found, even if a location calculated from GPS/GNSS is not yet reported.
  • [7.3.3/W-1-2] MUST report GNSS pseudoranges and pseudorange rates, that, in open-sky conditions after determining the location, while stationary or moving with less than 0.2 meter per second squared of acceleration, are sufficient to calculate position within 20 meters, and speed within 0.2 meters per second, at least 95% of the time.

If Watch device implementations include a 3-axis gyroscope, they:

  • [7.3.4/W-2-1] MUST be capable of measuring orientation changes up to 1000 degrees per second.

Watch device implementations:

  • [7.4.3/W-0-1] MUST support Bluetooth.

  • [7.6.1/W-0-1] MUST have at least 1 GB of non-volatile storage available for application private data (a.k.a. “/data” partition).

  • [7.6.1/W-0-2] MUST have at least 416 MB memory available to the kernel and userspace.

  • [7.8.1/W-0-1] MUST include a microphone.

  • [7.8.2/W] MAY have audio output.

2.4.2. Multimedia

No additional requirements.

2.4.3. Software

Watch device implementations:

  • [3/W-0-1] MUST declare the feature android.hardware.type.watch.
  • [3/W-0-2] MUST support uiMode = UI_MODE_TYPE_WATCH.
  • [] MUST preload one or more applications or service components with an intent handler, for all the public intent filter patterns defined by the following application intents listed here.

Watch device implementations:

  • [3.8.4/W-SR] Are STRONGLY RECOMMENDED to implement an assistant on the device to handle the Assist action.

Watch device implementations that declare the android.hardware.audio.output feature flag:

  • [3.10/W-1-1] MUST support third-party accessibility services.
  • [3.10/W-SR] Are STRONGLY RECOMMENDED to preload accessibility services on the device comparable with or exceeding functionality of the Switch Access and TalkBack (for languages supported by the preinstalled Text-to-speech engine) accessibility services as provided in the talkback open source project.

If Watch device implementations report the feature android.hardware.audio.output, they:

  • [3.11/W-SR] Are STRONGLY RECOMMENDED to include a TTS engine supporting the languages available on the device.

  • [3.11/W-0-1] MUST support installation of third-party TTS engines.

2.4.4. Performance and Power

If Watch device implementations include features to improve device power management that are included in AOSP or extend the features that are included in AOSP, they:

  • [8.3/W-SR] Are STRONGLY RECOMMENDED to provide user affordance to display all apps that are exempted from App Standby and Doze power-saving modes.
  • [8.3/W-SR] Are STRONGLY RECOMMENDED to provide user affordance to enable and disable the battery saver feature.

Watch device implementations:

  • [8.4/W-0-1] MUST provide a per-component power profile that defines the current consumption value for each hardware component and the approximate battery drain caused by the components over time as documented in the Android Open Source Project site.
  • [8.4/W-0-2] MUST report all power consumption values in milliampere hours (mAh).
  • [8.4/W-0-3] MUST report CPU power consumption per each process's UID. The Android Open Source Project meets the requirement through the uid_cputime kernel module implementation.
  • [8.4/W-0-4] MUST make this power usage available via the adb shell dumpsys batterystats shell command to the app developer.
  • [8.4/W] SHOULD be attributed to the hardware component itself if unable to attribute hardware component power usage to an application.