[Android] Call audio is not routed to connected Bluetooth headphones #79

Open
opened 2026-11-03 16:15:33 +00:00 by assfg · 1 comment
Member

build: anotherim-js 0.7.20 (Android, Samsung Galaxy S25 FE)

Call audio is not routed to a connected Bluetooth headset, and there is no Bluetooth option in the in-call audio output menu.

steps:

  1. Pair and connect Bluetooth headphones to the phone.
  2. Open anotherim-js and start an audio or video call with a contact.
  3. Wait for the call to connect. Audio plays through the phone’s earpiece instead of the headset.
  4. In the call screen, open the audio output menu and try to switch the output to Bluetooth.

actual:
The audio output menu offers only Earpiece and Speaker; there is no Bluetooth entry. The call audio stays on the phone as if no headset were connected, and it cannot be moved to the Bluetooth device.

request:
Detect connected Bluetooth audio devices and route call audio to them automatically when the call starts. Also add the Bluetooth device as an option in the in-call audio output menu so the user can switch between Earpiece, Speaker and Bluetooth during the call.

build: anotherim-js 0.7.20 (Android, Samsung Galaxy S25 FE) Call audio is not routed to a connected Bluetooth headset, and there is no Bluetooth option in the in-call audio output menu. steps: 1. Pair and connect Bluetooth headphones to the phone. 2. Open anotherim-js and start an audio or video call with a contact. 3. Wait for the call to connect. Audio plays through the phone’s earpiece instead of the headset. 4. In the call screen, open the audio output menu and try to switch the output to Bluetooth. actual: The audio output menu offers only Earpiece and Speaker; there is no Bluetooth entry. The call audio stays on the phone as if no headset were connected, and it cannot be moved to the Bluetooth device. request: Detect connected Bluetooth audio devices and route call audio to them automatically when the call starts. Also add the Bluetooth device as an option in the in-call audio output menu so the user can switch between Earpiece, Speaker and Bluetooth during the call.
ann referenced this issue from a commit 2026-11-04 18:51:15 +00:00
0.8.0-rc2, on libtacky v1.2.0-rc2 (fe57dd98), pairing with tackygram 0.4.0-rc2: develop as it stands on 4210756a, 0.8.0-rc1 with the padlock menu of an unencrypted chat (one line, the secret chats to start, the Expert switch "Allow MTProto secret chats with XMPP contacts"; feat/lock-menu), faces kept across Android's lock reload (fix/android-catchup-avatars), every own device "(you)" in a room (fix/own-nick-member-list, #78), replies and mentions back in the theme's palette (fix/reply-mention-palette), Ctrl+C and Ctrl+F on drag-picked messages (fix/drag-selection-keys, #75 #76), #72 #73 #74 #77 (fix/issues-72-73-74-77), an Android call on a Bluetooth headset (fix/android-bt-audio, #79) and no "Not sent" banner over a room send that went past some members (fix/omemo-partial-banner), made the second release candidate: version 0.8.0-rc2 in the UI package and its lock, tauri.conf.json, Cargo.toml and Cargo.lock and the README's version line, Android versionCode 8006; a compact 0.8.0-rc2 CHANGELOG entry (Chats, Rooms, Calls, Android, Settings); the metainfo's development release 0.8.0~rc2 (appstreamcli validate --no-net passes). docs/macos.md stays at the last Mac release. README's tables measured again on this tree: 110,809 lines of code and 114,834 of tests (the change since 0.8.0-rc1 counted by the same rules), the UI's 66,113 of 67,627 lines (97.8%, 90.7% of branches), the shell's 12,441 of 13,135 source lines (94.7%), the Kotlin's 4,449 of 4,705 (94.6%), the worker's 872 of 872. Gates on this tree: make check STRICT=1 clean (2,403 strings in all five catalogues, "Unmute" obsolete); make test-ui 5,053 passed, 8 skipped (430 files); make test-shell 442 in 55 modules; make test-worker green; make release-check passed (10 allowed warnings, no advisory); the Android JVM tests free 627 and gms 630 passed; make coverage-shell-all green; the WebKit smoke 917 screens, 9,464 checks, 0 failed with SMOKE_JOBS=16; cargo check of the shell for x86_64-pc-windows-gnu clean.
Owner

The app never asked Android to put a call on a Bluetooth headset, and Android only does that for the system dialer by itself. So the call stayed on the earpiece and the output menu showed Phone and Speaker only.

From 0.8.0-rc2 a call goes to a connected Bluetooth headset when it starts, and to one connected during the call. When the headset goes away the call falls back to the earpiece. The output menu lists Bluetooth while a headset is connected.

If the headset still does not appear, check that "Calls" (not only "Audio") is on for it in the phone's Bluetooth settings: a headset paired for media only cannot take a call from any app.

The app never asked Android to put a call on a Bluetooth headset, and Android only does that for the system dialer by itself. So the call stayed on the earpiece and the output menu showed Phone and Speaker only. From 0.8.0-rc2 a call goes to a connected Bluetooth headset when it starts, and to one connected during the call. When the headset goes away the call falls back to the earpiece. The output menu lists Bluetooth while a headset is connected. If the headset still does not appear, check that "Calls" (not only "Audio") is on for it in the phone's Bluetooth settings: a headset paired for media only cannot take a call from any app.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
another-im/anotherim-js#79
No description provided.