• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Announce Caller Only When Headset Plugged In

bucket

Newbie
Jul 21, 2010
13
1
I'm trying to get the phone to announce the name of the caller only when the headset is plugged in.

If I go into the voice output settings I can check the car mode box and the names will be announced on every call.

With Tasker I have Custom Car Home launch when the headset is plugged in but that has no effect as every call is announced no matter what.

In settings I disabled the car mode/announce incoming callers box. With Tasker I set it up to announce caller's names and it was working well. Then I tried to get it announce only when the headset is plugged in and it wouldn't work. Maybe I am bad at using the "and" context. Does anyone have any tips?
 
In settings I disabled the car mode/announce incoming callers box. With Tasker I set it up to announce caller's names and it was working well. Then I tried to get it announce only when the headset is plugged in and it wouldn't work. Maybe I am bad at using the "and" context. Does anyone have any tips?

Did you use two Contexts for this? If not it would be helpful if you could explain how you are attempting it.
 
Upvote 0
Did you use two Contexts for this? If not it would be helpful if you could explain how you are attempting it.

My contexts are Headset Plugged and Incoming call. Then the task is Say "Call from %CNAME".

I couldn't get that to work so I tried to do it with separate profiles variables, if the headset is plugged then the variable set to 1 which becomes a context in a different profile...

So today I was fooling with it some more. I took out the Headset Plugged context, so it should have announced on all incoming calls. With the headset not plugged in it worked fine. Then I plugged the headset in and tried it and there was no announcement. I don't get it as nothing in Tasker had anything to do with the headphones being plugged in or not. The ringtone would sound both through the headset as well as the phone speaker but no announcement through either one. Now I think I might actually have had Tasker set up correctly but there is some other problem.
 
Upvote 0
Try this, add the Headset Plugged context and check the Invert block that is there. If this doesn't work try unchecking it, maybe it previously got checked accidentally.

Still not working. When I had the context set for Headset not Plugged it would announce when the headset was not plugged. I don't understand why when I invert it it would not announce when the headset is plugged.
 
Upvote 0
Still not working. When I had the context set for Headset not Plugged it would announce when the headset was not plugged. I don't understand why when I invert it it would not announce when the headset is plugged.

In the Say dialog box under the option Stream, did you specify Ringer or Media? If Media is your wanted choice then check the Media Settings for your device when there is a headset plugged in. Otherwise try Ringer or Call.
 
  • Like
Reactions: Fishyweb and bucket
Upvote 0
Is there an app or widget for this how do you get your phone to do this? (announce the callers name)

Using the Tasker app. It is powerful, capable to do almost anything, and it's abilities are only limited by your imagination. You can even create widgets for your home screen that do your intentions. It does have a learning curve, but there is also plenty of documentation on his site as well as here.

You can get it from the Market, however if you get it from the developer's website, it's cheaper and the developer gets the money instead of Google. He is also always releasing updates for it as well (this is quicker on his site since he doesn't have to go through Google). No matter how you pay for it, you are still able to get the updates.

Also, getting it through his website, you are entitled to 7 day free trial, not Google's now 15-minutes.

Tasker for Android
 
Upvote 0
In the Say dialog box under the option Stream, did you specify Ringer or Media? If Media is your wanted choice then check the Media Settings for your device when there is a headset plugged in. Otherwise try Ringer or Call.

Thanks a lot, I set it to ringer and it works now.

A slight other issue. I figured it would be good to have the caller's name repeat a few times. So I ended up making 5 different tasks, all of which just say "Call from...." It is working great and then I realized that if I answer the phone it will still continue with the remaining tasks. So if I answer after it says it 3 times it will still say it twice more. I set Shut Up as an exit task thinking that once there is no longer an incoming call then the exit task would be preformed. That didn't work so I put an If clause on each of the tasks which said "Call time = 0" thinking that once I answer it would Shut Up. That didn't work so I removed the Ifs and changed the context from Incomming Call to Phone Ringing which didn't fix it either. Any ideas?

excuse me for butting in but,

Is there an app or widget for this how do you get your phone to do this? (announce the callers name)

I am using the Tasker application. You can set it up to do pretty much anything. Also under the setting for text to voice there is a box to check which will make it announce callers. That might just be on my ROM though, not sure if it is a stock feature.
 
Upvote 0
Thanks a lot, I set it to ringer and it works now.

A slight other issue. I figured it would be good to have the caller's name repeat a few times. So I ended up making 5 different tasks, all of which just say "Call from...." It is working great and then I realized that if I answer the phone it will still continue with the remaining tasks. So if I answer after it says it 3 times it will still say it twice more. I set Shut Up as an exit task thinking that once there is no longer an incoming call then the exit task would be preformed. That didn't work so I put an If clause on each of the tasks which said "Call time = 0" thinking that once I answer it would Shut Up. That didn't work so I removed the Ifs and changed the context from Incomming Call to Phone Ringing which didn't fix it either. Any ideas?

Since I don't know what your profiles look like, you could try something like this: (using two profiles)

Profile Name: Answered
Context > Event > Phone Offhook
NamedTask: BeQuiet > Tasker > If %RINGING Is Set
> Variable > Variable Clear %RINGING
> Misc > Shut Up
> Tasker > End If

Profile Name: Ringing
Context > State > Incoming Call
Event > Incoming Call
Tasks > Variable Set > %RINGING To 1
> Misc > Say > Call from %CNAME
> Tasker > Goto Action 2 > If %RINGING Is Set
Exit Task > Bequiet - This is for if the phone stops ringing but not answered.

If you want it to repeat at most 5 times, that is still possible using this same setup, only adding 1 to the %RINGING variable each time it goes through it's loop.

Of course there are other ways, but this is what I could think up in 5 minutes time. :)
 
Upvote 0
Thanks again. Where is Bequiet located? I couldn't find it.

What I did was I set up another profile with Event - Missed Call. Task - Variable Clear %Ringing. It makes it stop announcing but it would be easier to just use Bequiet.

Yea...sorry 'bout that. That is the named task that was created in the first profile.

It should have been:

Exit Task > Tasker > Perform Task. On the first line click the magnifying glass and your named tasks come up. Select it from there, or you can just type the name in.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones