The Android CDD is a tedious document to pick over, largely because very small changes in wording can have very big consequences. While I would hardly call this one "very big," it's still significant: Google has changed the support of standard impedance-based inline headphones controls from a suggestion to a hard requirement. Now, devices with 4-conductor 3.5mm audio jacks must recognize the impedance range and corresponding action it must produce when used on an inline controller.

MUST support the detection and mapping to the keycodes for the following 3 ranges of equivalent impedance between the microphone and ground conductors on the audio plug:

  • 70 ohm or less : KEYCODE_HEADSETHOOK
  • 210-290 Ohm : KEYCODE_VOLUME_UP
  • 360-680 Ohm : KEYCODE_VOLUME_DOWN

Inline headphone controls are a rather...

Read More