When Headphones Are Connected to Blue Tooth Phone Keeps Calling Last Number

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.
gladson1976
  • #1
Hi,

As the title suggests, is there any way to disable the bluetooth last number redial functionlity.

I have a Xperia Mini Pro (SK17i, Bootloader unlocked, Rooted) with a Samsung HM1700 bluetooth headset. The headset has a button for answering / ending calls and this same button also has the last number redial functionality, ie when not in a call, pressing this button redials the last dialed number.

AFAIK, the headset just sends a signal to the mobile which then calls the last dialed number.

What I need, is to disable only the bluetooth redial functionality on my mobile.

Last edited:
gladson1976
  • #2
[ BUMP]

Any suggestions anyone?

Sent from my SK17i

gladson1976
  • #4
You can try the app Smart Bluetooth Headset from the Play Store.You can not only disable it but also make it do something useful :)
  • #5
Since the app "Smart Bluetooth Headset" does not work reliably for me (e.g. not activated by default after program start) I use this now: Go to Bluetooth settings and find your headset. Uncheck Phone to disable the headset from being used for voice calls.
  • #7
Necroing this thread to say that I tried "Headset Button Controller" and "Smart Bluetooth Headset" apps, both free versions, on my rooted HTC10 running Oreo 8.0 with a paired MPOW Crescent. Both apps worked, in slightly different ways.

Headset Button Controller places a dummy call on the call log. Activating the redial function on the headset (double click the answer/end call button on the MPOW Crescent) makes the phone call to the dummy thing, and a little window shows asking for a valid number. No call is actually made.
Problem is, if a valid call is made (for example, you call your boss or a friend), the dummy call setting must be reenabled again manually in the app - meaning that, if you make a valid call, the next time you activate the redial function on the headset, it will call the valid call.

Smart Bluetooth Headset works basically the same way, except that, instead, the redial attempts to call the * or *1 numbers. These attempts open the call window but close it right away, and immediately activate whatever you set the redial function to do. I set mine to run "Tasker 01", but didn't set what "Tasker 01" is. So, what my phone does when I (accidentally) activate the redial function on my headset is open and close the call window, and then return an onscreen self-fading error notification stating that Tasker 01 could not be found.
Best of all, the settings stick - meaning that, if you make a valid call, the redial function will still attempt to dial the * or *1 numbers, as long as the Smart Bluetooth Headset service is active.

So, in my experience, the Smart Bluetooth Headset app works the best.

Of course, I could just turn the headset on and off, whenever I need. It has a physical on/off switch, and immediately pairs with the phone (if previously paired) when turned on. :p

  • #9
Could you share a link for these two apps? I've been trying to find them on the Google play store..
mirhl
  • #10
Unfortunately, redialing is no easy feat (like instead the stupid "media player opens" case).
https://github.com/LineageOS/android_system_bt/blob/lineage-17.1/bta/include/bta_ag_api.h#L319
https://github.com/LineageOS/android_system_bt/blob/lineage-17.1/btif/src/btif_hf.cc#L423
https://github.com/LineageOS/androi...e-17.1/jni/com_android_bluetooth_hfp.cpp#L194
https://github.com/LineageOS/androi...luetooth/hfp/HeadsetNativeInterface.java#L118
https://github.com/LineageOS/androi...ndroid/bluetooth/hfp/HeadsetStateMachine.java
https://github.com/LineageOS/androi...droid/bluetooth/hfp/HeadsetService.java#L1331

So, like, simply put.. You have a bluetooth HFP device that sends an AT+BLDN command to your phone.
The bluetooth stack runs DialCallCallback in the bluetooth package, which getLastDialledNumber from your phonebook, and then sends an ACTION_CALL_PRIVILEGED intent to the rest of the phone with the number to call.
Where could we act?

Perhaps if you could force some sort of HSP-only mode, you could avoid all the extra cruft but I'm not aware of any way to do so.
Similarly, there are plenty of ways to "directly hack the code", but I don't think anybody has got such a solution yet.
So my efforts have focused on disturbing the phone dialer from getting the action to call.

The problem is, "install-only" permissions aren't changeable. And without root you can't even hope to revoke android.permission.READ_CALL_LOG. And without xposed you can't even block intents.
(if you have either of these though, something could be done I guess?)

So long story short, well, Smart Bluetooth Headset still sounds like the best option.
It's no longer available in any official place as already stated.. But luckily enough it was open source!
We'll see.

  • #11
Hi,
Install macrodroid app from play store.
Create a macro as follows:

Trigger:
Call/sms -> call outgoing
(Select number(s) from the 3 bullet menu that appears, it is the 3rd)

Enter * (meaning all calls)

Action:
Phone -> call reject

Save the macro.
That's it !!!

Keep in mind to let the macrodroid app on the white list of any battery saver app you may have installed or is built in the android it self (eg xiaomi phones) easy to make it unrestricted to not be killed by any task manager.

Simple solution, minimal battery drain, no wake up the phone to check. The macro runs only on call intent

Thats's it.
Thanks

  • #12
Hi,
Install macrodroid app from play store.
Create a macro as follows:

Trigger:
Call/sms -> call outgoing
(Select number(s) from the 3 bullet menu that appears, it is the 3rd)

Enter * (meaning all calls)

Action:
Phone -> call reject

Save the macro.
That's it !!!

Keep in mind to let the macrodroid app on the white list of any battery saver app you may have installed or is built in the android it self (eg xiaomi phones) easy to make it unrestricted to not be killed by any task manager.

Simple solution, minimal battery drain, no wake up the phone to check. The macro runs only on call intent

Thats's it.
Thanks

@kounelii how do you configure the macro so that it only applies to calls made from headphones when last number redial is executed?
Hi,
Install macrodroid app from play store.
Create a macro as follows:

Trigger:
Call/sms -> call outgoing
(Select number(s) from the 3 bullet menu that appears, it is the 3rd)

Enter * (meaning all calls)

Action:
Phone -> call reject

Save the macro.
That's it !!!

Keep in mind to let the macrodroid app on the white list of any battery saver app you may have installed or is built in the android it self (eg xiaomi phones) easy to make it unrestricted to not be killed by any task manager.

Simple solution, minimal battery drain, no wake up the phone to check. The macro runs only on call intent

Thats's it.
Thanks

Similar threads

porterinare1957.blogspot.com

Source: https://forum.xda-developers.com/t/q-is-there-any-way-to-disable-bluetooth-last-number-redial.2340803/

0 Response to "When Headphones Are Connected to Blue Tooth Phone Keeps Calling Last Number"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel