我试图注册一个广播接收器来处理VOLUME_CHANGED_ACTION
事件,只针对volume_voice
流类型(经验显示在Settings.System.VOLUME_SETTINGS
中为索引0
)。
标签EXTRA_VOLUME_STREAM_TYPE
被隐藏了,因此我使用了显式字符串"android.media.EXTRA_VOLUME_STREAM_TYPE"
。在Android 2.3.4上工作得很好(如预期地获得了volume_voice
的值0
),但是在2.3.5上,这个额外的值是10
,这会导致Settings.System.VOLUME_SETTINGS
抛出ArrayIndexOutOfBoundsException
异常。
此外,我发现在Settings.System.VOLUME_SETTINGS
中,volume_voice
仍然是索引0
。
有没有更可靠的方法来处理volume_voice
流类型的VOLUME_CHANGED_ACTION
?
编辑或者说还有其他方法实现标题所要求的功能吗?