I have a set of Sony headphones with a single button and microphone. I also have a Samsung SC-04F running Android 5.0, unrooted.

I want to be able to press the button on my headset once and record my voice. When I press the button again, the recording stops.

Ideally this can happen regardless of what ever other app I happen to be using. So, if I'm listening to music, pressing the button will start the recording app. I guess it should probably pause the music, and then ideally return to music playing when I stop.

I've looked at options for apps that claim to allow recording via the headset microphone. But, this one for example, seems to require that the app already be running. I've also looked at headset button control apps, and I can get it to open a voice recorder app, but not actually start recording.

Is what I'm trying to achieve possible?

  • @beeshyams, thanks for responding. The device is not rooted. I've updated my question.
    – Questioner
    Aug 13, 2016 at 6:24
  • I don't think it is feasible without rooting, as it involves triggering an action on the recorder app to record without manual intervention. Rooting allows use of other screen touch recording apps/ intents that can record the action of pressing the record button and that can be possibly triggered when you click your headset. That's my understanding, maybe there are other ways but I doubt it
    – beeshyams
    Aug 13, 2016 at 10:45

4 Answers 4


I can't say too much here, but this thing may be achieved by an app called Tasker. Many users say it god of android. To function on every aspect of requirement, it needs root access. In your case, it does not require root access.

You can use its capability to achieve that certainly. This is wiki page of that app.

Edit : As OP said that he has hands on Headset Button Controller. This app is also supports tasks created by Tasker app. Steps to Achieve this ->

  1. Open Tasker App. Go to Tasks tab. Click Plus(+) to add a task Record. Now edit the task to get it function what you want.
  2. Click +, then click on Media , then Record Audio.
  3. Give the file name of your recorded file. Select your source ( In this case Microphone). You can select format on your choice.
  4. Now link this task with that app. Open app. Click on one of interaction that you want (Single click is your choice in question).
  5. Now choose Tasker task and select the task (Record) as you created in Tasker app.
  6. You are good to go. Try it.

I tested it by myself. So, it must work. On more out of Tasker, use WiKi as posted above.


It is certainly possible, as:

A.There are non root headset button controllers:


B. There are non root sound recorder apps:


So something that combines the functions of both is possible. However, I fear there isn't such an app availible (or if it is it is hidden in the depths of the play store for a reason, poor quality), you could write your own (which would be beyond the scope of this forumn, not to hard though, may I suggest: https://developer.android.com/training/index.html )


It is possible when the recording program is running in the background. I am also looking for the same information, and find this app: OSMTracker for Android™.

The related discussion: Issue #60 - Pressing a headset media button should start recording voice


I have searched for this topic almost for a month, and the following was the answer by SoloPilot on Stack Overflow (provided the device is not rooted).

Sorry, but I think it can't be done for hardware reasons.

The Android headset jack has 4 connections: Tip=LeftAudio, Ring=RightAudio, Ring2=Ground, Sleeve=Mic. (I may have Ring2 & Ground reversed). The HeadsetHook button sends its signal by shorting out Ring2 and Sleeve. So, while pressed it will short out the mic. Can't do PushToTalk."

  • He isn't looking for while it is pressed, he is looking for press to start (offpress would work as well as onpress), and a press again to stop. So it is feasible, just not availible. Aug 18, 2016 at 9:12

You must log in to answer this question.

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