Bluetooth headset voice answer

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluetooth headset button does not answer or end Signal voice calls #7679

Bluetooth headset button does not answer or end Signal voice calls #7679

Comments

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports
  • This isn’t a feature request or a discussion topic

Bug description

Signal supports using Bluetooth headsets for voice calls. However, when an incoming Signal call rings and a bluetooth headset is paired and connected, pressing the multifunction button on the headset does not answer the Signal call. The call has to be answered manually from the phone screen, only then does the bluetooth set engage.

Even more surprisingly, pressing the multifunction button while a Signal call is in progress (and the BT set in use) has the effect of handing the call over to the regular earpiece — rather than the expected result of ending the call.

The same issue has been observed on Pixel 2 (stock 8.1) and on Nexus 5 (LineageOS 14.1).

Steps to reproduce

  • receive a Signal call, having a bluetooth headset paired and connected
  • try to answer the call from the bluetooth headset

Actual result: The call keeps ringing.
Expected result: The call is answered, similarly to regular phone call.

  • while on a Signal call and speaking through a bluetooth headset
  • try to hang up by pressing the button on the headset

Actual result: The call gets handed over to the earpiece.
Expected result: The call is ended.

Screenshots

Device info

Bluetooth headset: Aukey EP-B40 Bluetooth 4.1
Device: Google Pixel 2
Android version: Stock Android 8.1.0 — OPM2.171019.029
Signal version: 4.18.3

Trying to end a Signal call by pressing the bluetooth button (call gets handed over to earpiece)
https://debuglogs.org/789eec7e8c8e1138cf86a1fe61ea803bcc1df35bbb80b4f21edc057eeb581b0a

The text was updated successfully, but these errors were encountered:

Thanks for the insight about answering calls with the Bluetooth button.

Читайте также:  What is bluetooth hfp profile

But what about ending a call in progress?
There’s still something I don´t understand: Signal must be already detecting that the button is being pressed — in fact, it hands the call over to the earpiece when you press it. This is just a single tap on the multifunction button (not that the headset is suddenly being turned off or becoming unavailable mid-call or anything). So Signal might as well react by ending the call rather than handing it back to the earpiece.

I understand that it might be technically challenging to pick up calls, but that doesn’t fully explain why pressing the button during a call does not end the call.

Hangup is easy: you can detect the button being pressed, and when your call state is calling (the app knows when it is calling) it can hangup.

I have also recently been bitten by this. A full integration would be awesome, of course, but just having hangup work would fix a lot of the annoyance; finding out that your call is still active minutes after you thought you hung up is a bit annoying 🙂

Hi @johanw666, you said the easiest way requires MODIFY_PHONE_STATE, I’m developing an app in which I have system permissions. So, what would be this easiest way?

I didn’t work it out completely because the app I was working on didn’t have this permission but the first set of results when I Google on android accept calls MODIFY_PHONE_STATE look promissing. And I believe that you didn’t need system in very old Android versions so some old code could be usefull to check out too.

I agree, I’m not sure there is an easy solution for this issue by using the existing Java APIs.
The reason is that the «Call» button event is most likely received by the low level Bluetooth driver but Android for some reason which I don;t understand is masking this event (security?). So far I have not found a way to get the CALL events from the Java APIs.
You could however get a Bluetooth state change notification when you press on the «Call» button but this is not a good method to interpret the button press because the state might change by other events/actions in the system.

If you really must get the «Call» or «Disconnect» button events the solution might be to write a low level C code to parse the Bluetooth data stream, but this is most likely not an easy task to do.

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

This is only one of the issues related to Signal not using Android’s proper call API, but handling calls as a media player instead. Related feature request: https://community.signalusers.org/t/implement-android-telecom-api-for-calls/41280

Try on 5.33 where we’ve integrated with the Android telecom system, and made some changes to how we ring. Please post an updated debuglog if you try with that version and still encounter problems.

Читайте также:  In ear bluetooth headphones with microphone

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Sorry for the delay in getting back to you. Here are two new debug logs.
Device: Google Pixel 4a
Signal: 5.36.3

First log:

  • trying to answer call with Bluetooth earbuds button
  • sth. happens to the rington audio, but call is not answered
  • answering call via the popover
  • call audio actually playing out of the earphone speaker instead of Bluetooth, despite Signal claiming Bluetooth speaker being used
  • switching back and forth between phone speaker and Bluetooth resolved this issue

Second log:

  • trying to answer call with earbuds button
  • ringtone audio switches from earbuds to phone speaker
  • answering call via the popover
  • call audio actually playing out of the earphone speaker instead of Bluetooth, despite Signal claiming Bluetooth speaker is used
  • switching back and forth between phone speaker and Bluetooth resolved this issue

After few more tries, this seems to be the behaviour:

  • Bluetooth button disconnects ringtone audio sometimes, but always causes the subsequent call audio to not use the Bluetooth speaker (despite Signal claiming it does)
  • when call is answered without pressing the Bluetooth button first, call audio uses the Bluetooth speaker just fine
  • trying to hang up via the Bluetooth button does nothing
  • there’s also no «call bubble» created like for normal phone calls

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Phone: Google Pixel 6
Bluetooth Devices Tested: Jowave BH830, Google Pixel Buds Pro, Beats Studio Buds, Plantronics Voyager 5200
Android Version: 12 (July 2022 Patch Level)
Signal Versions: 5.43, 5.44
Android Auto Device: Kenwood Excelon DMX957XR

Wanted to write in to note that up until 5.44, I was having the exact same issue. The Telecom integration patched into 5.44 appears to have resolved this issue, at least for me. I can confirm that now, the multifunction button on all devices tested will properly pick up on an incoming call and hang up when on a call.

This may not related to this particular issue, but I have also noticed that when you have different Bluetooth devices active (say a smartwatch and your Bluetooth headset), Signal will switch (even in the middle of a call) to the last Bluetooth device the phone communicated with. There is no way for you to specify which Bluetooth device you want, so you’re stuck with whatever Signal decides is the correct Bluetooth device. As a workaround, you can remove the ability to do calls and media from all devices that are not Bluetooth headsets, but that is obviously undesireable for multiple reasons.

As a final note, as a user I wanted to thank you for this fix. There’s no way to accept calls or make Signal calls using Android Auto (no notification will display, even though the ringtone plays, and Android Auto brings up the Android phone dialer history UI), so having the ability to tap the MFB on my Bluetooth headset and have that answer calls has been wonderful from a car safety standpoint. Prior to this, if I wanted to answer a Signal call while in my car, I would have to dig the phone out and answer from there (which I did not do as that is dangerous).

Читайте также:  Найти блютуз ноутбуке acer

Источник

Голосовые команды с Bluetooth-гарнитуры на Android

Голосовые команды с Bluetooth-гарнитуры

В данной статье речь пойдет про голосовые команды для Bluetooth-гарнитуры в Android. Пошагово покажем, как активировать данную функцию, обсудим плюсы и минусы используемого метода.

В чем плюсы

Сразу расскажем про сильные стороны данного метода. При обычном активированном голосовом вводе все команды нужно произносить близко к смартфону, чтобы ваш голос был четко и отчетливо слышен системе. Такой метод в некоторых ситуациях может быть неудобен. Положение можно исправить, подключив Bluetooth-гарнитуру, и произносить команды в нее, держа смартфон в руках как удобно.

К тому же, такие команды как «О’кей, Гугл, поставь будильник на 7 утра» вовсе не требуют участия смартфона: достаточно, чтобы гарнитура была в радиусе действии радиомодуля и активирован режим «Распознавание из всех приложений».

О минусах

К слабым сторонам относится быстрый разряд вашего наушника, так как он практически все время находится в активном состоянии, ожидая новой команды «О’кей, Гугл». Также при включённом режиме «Из всех приложений» практически на всех устройствах возникают проблемы с камерой: при записи видео выскакивает ошибка «микрофон занят» и включить видеозапись не получается. Надо предварительно отключать данный метод распознавания речи.

Инструкция

Если все перечисленные достоинства и недостатки вас вполне устраивают, можете переходить к настройкам. Здесь мы подробно описали Как подключить Bluetooth-гарнитуру к мобильному телефону на Android.

  1. В меню устройства найдите и запустите приложение «Google».
  2. На главном окне программы сделайте свайп слева на право.
  3. Во всплывающем меню выберите пункт «Настройки».
  4. Тапните по пункту «Голосовой поиск».
  5. Активируйте переключатель напротив надписи «Гарнитура Bluetooth».

После этих действий произносимые команды будут улавливаться микрофоном гарнитуры.

Чтобы управление работало независимо от того, что у вас запущено на смартфоне:

Примечания: при включённом значении батарея наушника будет быстрее разряжаться и будут проблемы с записью звука в видеосъёмке.

Другой метод – это пользоваться иконкой «Голосовой поиск».

При выборе ее через меню будет открываться специальное окно: в нем и нужно произносить команды.

При таком методе использования перечисленных выше проблем не будет

Набор текста

Голосовой набор с Bluetooth на Android включается автоматически вместе с «голосовыми командами через Bluetooth», но для уверенности можете проверить это через меню настроек.

  1. Перейдите в «Настройки».
  2. Выберите «Язык и клавиатура».
  3. Убедитесь, что стоит галочка напротив «Голосовой ввод». Нажмите на иконку -шестеренку.
  4. Должен быть активирован последний пункт в списке.

Для активации ввода по голосу при наборе текста над клавиатурой тапните по пиктограмме в виде микрофона.

После того как появится новое всплывающее окно, начинайте произносить команду.

Голосовые команды с Bluetooth гарнитуры на Android: Видео

Источник

Оцените статью
Adblock
detector