Headset Button Controller is very configurable, allowing you to play music, change tracks, adjust volume, answer phone calls, start Voice Command and many other things, just by clicking the button on your headset.
Headset Button Controller is shipped with a powerful default configuration, but you can change almost every action performed. Once you have configured it with your preferences, it runs in the background using almost no CPU. It has been tested with a wide variety of different Android devices and music apps and works with 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 (+ answer call / end call)
* Double press: next track (+ decline call / mute microphone)
* Triple press: previous track
* Quadruple press: previous track (2x)
* Long press: Volume control 
* Press and hold: Fast forward 
* Double press and hold: Rewind 
* Triple press and hold: disabled
All of the above options are configurable to any of the following:
* Play / pause
* Next track
* Previous track
* Previous track (2x)
* Mute / unmute
* Voice command
* Voice search
* Redial last number
* Say current time (Text-To-Speech required)
* Launch app
* Launch shortcut
* Tasker task 
* Switch profile
Additionally the long press options are configurable to any of the following:
* Volume control 
* Rewind 
* Fast forward 
 Requires the app 'Tasker'
 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
With a 3-button headset, volume control is also configurable with the left and right headset buttons.
Music app selection
Headset Button Controller controls the currently running music app. You are also able to explicitly specify which installed music app you want to control.
Volume control features
Headset Button Controller remembers the music volume when the headphone is unplugged and can restore it when the headphone is plugged in again.
* Min volume limit: Start volume level of the 'volume control' command
* Max volume limit: Ensures that the headset music volume never exceeds this limit
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)
* announce caller name (Text-To-Speech required)
You can also configure Headset Button Controller to automatically answer an incoming call after a configurable delay.
Headset plug in / out
You can configure an action to be performed when the headset gets plugged in / out.
You can create different 'configuration profiles' which you can switch between. Add a widget or a shortcut to your home screen to easily change your profile. It is also possible to switch profile from the 'Tasker' or 'Locale' app (Locale plug-in). All settings can be backed up on SD card.
This is the full version of Headset Button Controller. To check if this app works with your phone / music player correctly, we suggest you first install the trial version of this app before buying.
Configurable click combinations
* Single/double/triple/quadruple click
* Single/double/triple click and hold
* These options work for the play/pause, next and previous button.
* Play/pause, next, previous or stop track
* Volume up, down or reset and rise
* Launch app (e.g. Voice Actions)
* Fast forward or rewind (long press or toggle)
* Tasker task (search 'Tasker' in the Google Play Store)
* Say time (requires Text-to-Speech)
* Target a specific media player to control.
* Separate volume levels will remember the media volume when (un)plugging your headset and restore it when (un)plugging your headset later.
* Ear protection allows you to limit the volume level.
* Volume reset and rise will start where you set it to start and rises based on the long-press delay.
* Option to speak the name or number of the person calling. (Requires Text-to-Speech.)
* Single click on the play/pause button answers/ends calls.
* Double click on the play/pause button declines incoming calls and (un)mutes the mic during calls.
* Triple click repeats the caller name or number. (Requires Text-to-Speech.)
* The buttons of the 5 above options are customisable.
* Monitor headset activity with timestamps.
* A widget to quickly switch the targeted media player.
* Export your settings to your SD card to switch between profiles or to back-up your settings. This function can be found by pressing menu.
* Execute actions when plugging your headset in or out.
* Turn on 'Headset (with mic) only' or 'Ignore system clicks' to selectively execute button actions.
* The play/pause button's long press functionality does not currently work with Jelly Bean due to Google forcing Voice Search to be launched.
* Works with almost all devices/wired headsets.
* Volume buttons on iPod/iPhone headsets will NOT work. This is due to hardware issues.
* Bluetooth headsets might not work.
* Fast forward and rewind require the media player to support it.
* TTS functionality requires Text-to-Speech to be installed on your phone.
* If Headset Droid seems to not be responding, press menu and select 'Check for conflicts'.
* If no conflicts are found, use the Headset monitor to see how Headset Droid is receiving and handling button interaction.
* For further assistance, please don't hesitate to contact me.
* Apps used to control headset clicks will conflict with ICS's lockscreen music widget due to Android's architecture.
* Please use the trial version to check if Headset Droid works without issues with your phone/headset/player. Uninstall the trial before installing the full version.
If you have any other suggestions, questions or issues, feel free to contact me and I'll do my best to respond asap. Please don't use reviews for complaints as I will be unable to respond to your issue.
Volume Control (Android 4.0.3 or later)
The volume control function in the Klipsch Control app is overridden by the system command to launch voice search.
Motorola Droid Razr (running Android 4.0 or later)
When running Android 4.0 or later MotoBlur conflicts with Klipsch Control, preventing the device from properly receiving button commands. Klipsch Control continues to work properly on the Droid Razr with Android 2.3.6 and on other devices running Android 4.0.
Samsung Galaxy S II
Due to software conflicts, the Klipsch Control app is not fully compatible, specifically, the Klipsch S4A™ headset only supports voice control, call “Answer” and “End” functionality. Klipsch continues to work on an update to allow full functionality on these devices.
It may be possible to "out-click" the phone hardware so if there are issues with double and triple clicks intercepted as single clicks, try clicking a bit slower for better accuracy.
Track forward/track back
Long press (not customizable)
- This app is not compatible with Klipsch Image S4i, Image S5i, Image X10i, or Image ONE headphones due to incompatibility with the Apple licensed components in those products.
- Compatible with devices running Android 2.1 or later.
- *Mute function not compatible with all devices.
- The follwing music apps have been tested and compatibility confirmed: Google Music, Amazon MP3, Pandora, Last.fm, Slacker (List subject to change.)
- The default media player on the following devices are not compatible and require a 3rd party media app for full functionality: Samsung Infuse, Samsung Galaxy S 4G, Motorola Atrix (List subject to change.)
- Headset control options in other similar apps should be disabled. Most music players that have headset control settings should also be set to disabled.
- Customizable click speed will vary by device. Some devices are not capable of faster click speeds.