Headset Button Controller is very configurable, allowing you to play music, change tracks, adjust volume, answer phone calls, start Voice and many other things, just by clicking the button on your headset.
Once you have configured Headset Button Controller with your preferences, it runs in the background using almost no CPU. It is shipped with a default configuration profile, but you can change almost every action performed. It has been tested with a wide variety of different Android devices and music apps and both single-button headsets, and Android-specific 3-button headsets.
Default configuration for single-button headsets (center button for 3-button headsets):
Single press: play / pause (+ / end call)
Double press: next track (+ decline call / mute microphone)
Triple press: previous track
press: previous track (2x)
Long press: Volume control
Press and hold: Fast forward 
Double press and hold: Rewind 
Triple press and hold: disabled
are configurable to any of the following:
- Play / pause
- Next track
- Previous track
- Previous track (twice)
- Mute / unmute
- Voice command
- Voice search
- Redial last number
- Say current time ( required)
- Launch app
- Tasker task 
- Volume control 
- Rewind 
- Fast forward 
If you have the Tasker app installed, you can specify any task - search for 'Tasker' in the Android Market
While the button is held down, the volume is initially reset to the minimum limit (see below) and then raised until the button is released
Not every music player app supports rewind / fast forward
Music app selection
You are able to choose which installed music app you want to control with Headset Button Controller.
Volume control features:
- Headset Button Controller remembers the music volume when the headphone is unplugged and can restore it when the is plugged in again.
- Min volume limit: Start volume level of the 'volume control' command
- Max : Ensures that the headset music volume never exceeds this limit
- olume control speed: Specify how fast you want the volume to be increased when using the long press
- You are also able to control calls with the headset button:
- answer call / end call on single press (configurable)
- decline call / mute microphone on double press (configurable)
- adjust volume during a call (see volume control)
- caller name (Text-To-Speech required)
Headset plug in / out
You can configure an action to be performed when the headset is plugged in / out. By default the music will get stopped if you unplug your headset.
You can create different 'configuration profiles' which you can switch between. Add a widget (1x1) to your home screen to easily change your profile. It is also possible to switch profile from the 'Tasker' or 'Locale' app. All settings can be backed up on SD card.
Headset Button Controller cannot support the separate volume control buttons on the - this is a limitation of the Android framework.
Make sure that this app does not get stopped by a task killer (the background process consumes almost no CPU).
What's in this version : (Updated : Oct 16, 2012) after a configurable delay.
- Jelly Bean: added the possibility to use 'Volume control' with a short-click combination (Quadruple click by default)
- improved TTS-Check (problems with some TTS engines)
- added Spanish
- Jelly Bean: The long press commands of the center button are reserved by Google Now (Voice search) and cannot be configured with this app.
- Headset Button Controller cannot support the separate volume control buttons on the iPhone headset - this is a limitation of the Android framework.
Required Android O/S : 2.1+
Download: 330Kb APK