Я пытаюсь зарегистрировать широковещательный приемник для обработки события VOLUME_CHANGED_ACTION
, только для типа потока volume_voice
(который я эмпирически рассматриваю как индекс 0
в Settings.System.VOLUME_SETTINGS
).
Метка EXTRA_VOLUME_STREAM_TYPE
скрыта, поэтому я использовал явную строку "android.media.EXTRA_VOLUME_STREAM_TYPE"
. Все это отлично работало на Android 2.3.4 (получилось значение 0
для volume_voice
, как ожидалось), но на 2.3.5 значение, которое это лишнее, имеет значение 10
, которое дает ArrayIndexOutOfBoundsException
на Settings.System.VOLUME_SETTINGS
.
Более того, я вижу, что volume_voice
остается индексом 0
в Settings.System.VOLUME_SETTINGS
.
Существует ли более надежный способ обработки типов потоков VOLUME_CHANGED_ACTION
для volume_voice
?
Изменить или любой другой способ сделать то, что запрашивает название?