jamulussoftware / jamulussoftware/jamulus
Android: denying the microphone permission exits the app silently
- Vorherrschende Sprache
- C
- Sterne
- 1.1k
- Forks
- 248
- Ø Merge
- 2 T. 3 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
MY LLM WROTE:
As promised in #2570 — on Android, denying the `RECORD_AUDIO` permission exits the app with no message of any kind: no window, no dialog, no toast. The user taps the icon and stays on their home screen.
It is deliberate (`src/main.cpp:833-841`, a bare `return 0`), and the exit status is 0, so nothing marks it as a failure. The trap is that Android sets `USER_FIXED` on an explicit deny, which suppresses the permission dialog on every later launch — so the app is then permanently unstartable with no in-app way back and no explanation.
Reproduced 8/8 on two builds (mainline `3.12.3dev-1f9667ec` and a PR build), Android 16 / arm64 / Qt 5.15.2, one device. `exit app 0` appears in logcat ~200 ms after the library loads.
A message naming the microphone permission before exiting would fix it. Non-zero exit status would help tooling too.
@ann0see — you suggested denied permissions cause bad states on all platforms. Likely, but I only tested Android, and this mechanism is Android-specific, so I'd treat the desktop cases as separate.
Beitragsleitfaden
Rechercherichtung
Beginne bei src/main.cpp:833-841 und verfolge den Pfad für die Verweigerung der Android-Berechtigung, der unmittelbar zurückkehrt, nachdem RECORD_AUDIO verweigert wurde. Reproduziere das Verhalten unter Android und untersuche logcat; abgeschlossen ist die Aufgabe, wenn die App vor dem Beenden die fehlende Mikrofonberechtigung meldet und das Verhalten des Exit-Status wie im Issue beschrieben behandelt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, cpp
- Bereich
- audio-video-rtc, mobile-dev
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 78/100