I\'m trying to register a broadcast receiver to handle the VOLUME_CHANGED_ACTION event, only for the volume_voice stream type (which I empirically
My temporary (and probably bad) workaround is to catch the ArrayIndexOutOfBoundsException, and in the catch block to test the stream type to have value of Settings.System.VOLUME_SETTINGS.length.
This is the best I have so far. I don't know if it might catch other stream types as well, and also if it is going to work on other Android versions than 2.3.3-2.3.5.