jamulussoftware / jamulussoftware/jamulus

Android: denying the microphone permission exits the app silently

Aperta Adatta ai principianti
#3,846 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

AI
Lingua principale
C
Stelle
1.1k
Fork
248
Merge medio
2g 3h
PR unite (30g)
9

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da src/main.cpp:833-841 e segui il percorso di negazione dei permessi Android che restituisce immediatamente dopo che RECORD_AUDIO è stato negato. Riproduci il comportamento su Android e ispeziona logcat; il lavoro è completato quando l’app segnala l’assenza del permesso per il microfono prima di uscire e il comportamento dello stato di uscita viene gestito come descritto nell’issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, cpp
Ambito
audio-video-rtc, mobile-dev
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
78/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.