Ho una notifica con un pulsante "Registra". La funzionalità desiderata è che l'app inizi a registrare con il microfono del dispositivo quando si fa clic sul pulsante e si interrompe quando viene fatto nuovamente clic. Dovrebbe comportarsi in modo simile a un pulsante Riproduci/Pausa di un'app musicale.Avvia e interrompe la registrazione da un pulsante in una notifica
Esistono anche altri modi per avviare e interrompere la registrazione, all'interno dell'app stessa.
Ho provato a implementarlo in diversi modi, ma sono abbastanza confuso. Il pulsante stesso riceve un PendingIntent
, quindi all'inizio ho dato l'intento dell'attività che registra l'audio nella mia app. Questo, ovviamente, mette a fuoco l'app stessa, quindi non va bene.
Successivamente, ho provato a creare un IntentService
che gestisce due tipi di intenti: "Avvia registrazione" e "Interrompi registrazione". Sono riuscito a farlo avviare la registrazione, ma sembra che non appena ha gestito l'intento "Avvia registrazione", si è spento automaticamente, quindi il mio oggetto MediaRecorder
è stato perso.
Ho provato a rendere il mio IntentService
legabile implementando onBind
, ma mi sono davvero mescolato con i file .aidl
e simili.
Qual è l'approccio corretto qui?