2011-11-07 4 views

risposta

3

Dagli sguardi di esso, questo non è possibile il modo in cui si sta cercando di farlo.

Come detto nella android reference

Il flusso audio suggerito sarà legato alla finestra di questa attività

Quindi con un servizio che non ha attività, non v'è nessuna finestra di legare la flusso audio a.

Tuttavia, sembra che si debba essere in grado di ricevere eventi chiave multimediali (inclusi i tasti del volume) da un'emittente come mostrato in here che consente di modificare il volume del servizio senza che un'attività sia visibile.

+0

Ho esaminato questa soluzione e non sembra funzionare: non c'è modo di utilizzare i ricevitori di broadcast per ricevere eventi con i tasti del volume. Sul link che hai postato, android.intent.action.MEDIA_BUTTON viene utilizzato per i pulsanti di riproduzione, come play/pausa, successivo, precedente, ecc ... Ma nessun pulsante del volume. –

+0

Il mio errore quindi, immagino che questo non sia possibile da un servizio. La ragione apparentemente è quindi quella di fermare le app che catturano gli eventi del volume e interferire con la capacità dell'utente di modificare il volume della suoneria/volume del sistema. C'è qualche ragione per cui non puoi usare STREAM_MUSIC? – Guykun

+0

Nel mio caso, è perché vorrei disattivare l'audio di altre app mentre la mia app riproduce la musica. Poiché tutte le altre app utilizzano STREAM_MUSIC, la soluzione che ho trovato è stato disattivare l'audio STREAM_MUSIC e utilizzare un altro stream. –