I recently purchased a set of headphones with iPhone controls. I've never had these work on Android before and was expecting to just get audio out, and lo and behold, I have media controls.

The trouble seems to be, I also have Voice Dialing, which is triggering itself anytime the headphones are plugged in. Any app playing music now also pauses and plays randomly.

I don't know exactly what's going on, but I suspect that there are 2-3 different apps all trying to do something with the headset, and it's causing problems. I don't really need it to work, but I can't find any settings dealing with the inline remote anywhere. I've been digging through the system settings and all of my app settings all day and nothing even mentions these behaviors.

I don't care if I have to recompile the kernel myself; I very much want to edit this behavior. Where do I start looking? Is the headset a hardware button? Is there a flag I can check for with an app's code that can detect when a headset with a remote is plugged in to make it do different things?

  • Are the headphones made specifically for iPhone?
    – t0mm13b
    Oct 8, 2012 at 19:56
  • You don't have the Turntable app installed, do you? I had all kinds of weird randomness with headphones while I had that installed.
    – ale
    Oct 9, 2012 at 0:15
  • Yeah, the headphones are specifically made for iPhone. That's what surprised me; I wasn't expecting them to do anything at all.
    – Blank
    Oct 9, 2012 at 4:16
  • There is a spec about headsets and the expected behavior of the button(s) on android.com: source.android.com/devices/accessories/headset/…
    – user251273
    Jan 23, 2018 at 10:14

2 Answers 2


To my experience, headset control behaved randomly. Took me a couple of weeks to figure out why suddenly in my training sessions the music player started (wow! that button on the headset suddenly does something...). Like you, I never found any corresponding system settings.

To get rid of that "random system", I took a look around. As usual with Android, almost everything is triggering (or triggered by) an intent, and a listener reacts on that. If there are multiple listeners, the user will be asked with which app to perform the action -- and can declare that app the standard; which holds until a new app registers or the chosen app gets uninstalled.

That said, I went to the Playstore and took a look around -- and indeed, there are multiple apps around taking care of the button-presses: Single press, double, triple, long-hold, klick-and-hold... I never imagined how much to do with a single button :D Unfortunately for me, I could not yet convince the one app I tried to behave as intended -- except for single click and single hold (i.e. play/stop/take-call and volume-up) -- but that may be due to the combination of headset/phone/app, and I certainly will try to figure this out by evaluating different apps.

To give you a starting point: there's e.g. JAYS Headset Control, which I currently use. Though highly configurable1, see above for my problems (Philips plugs, Motorola device). Then there's also Headset Droid which looks quite promising2, but costs about EUR 2. This seems to support multiple buttons even, from the screenshots.

JAYS Headset Droid

Then there are Headset Button Controller (also about EUR 2), Philips Headset (free -- the next one I should try with my Philips headset), and a lot more -- just search the playstore for "headsetbutton"...


You can try Headset button controller. This worked for me.


There is a trial version for this too.

  • That app is my best preference as well, but do you realize the question was asked 4 years ago?? For that reason, you'll need to elaborate on how Headset Button Controller works. Include instructions and screenshots, so your answer will be thorough and professional. Feb 28, 2016 at 5:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .