Sto tentando di registrare un destinatario di trasmissione per gestire l'evento VOLUME_CHANGED_ACTION
, solo per il tipo di flusso volume_voice
(che vedo empiricamente come indice 0
in Settings.System.VOLUME_SETTINGS
).Come ricevere gli eventi modificati dal volume per il tipo di flusso vocale (in chiamata)?
L'etichetta EXTRA_VOLUME_STREAM_TYPE
è nascosta, quindi ho utilizzato la stringa esplicita "android.media.EXTRA_VOLUME_STREAM_TYPE"
. Tutto ha funzionato bene su Android 2.3.4 (ha ottenuto il valore 0
per volume_voice
come previsto), ma su 2.3.5 il valore che questo extra detiene è 10
, che dà uno ArrayIndexOutOfBoundsException
su Settings.System.VOLUME_SETTINGS
. Inoltre, vedo che volume_voice
è ancora indice 0
in Settings.System.VOLUME_SETTINGS
.
Esiste un modo più efficace per gestire i tipi di flusso VOLUME_CHANGED_ACTION
per volume_voice
?
Modifica O altro modo per fare ciò che richiede il titolo?