вы не должны просто устанавливать громкость на 23, вместо этого вы должны сначала вызвать getStreamMaxVolume (StreamType), чтобы получить максимально возможную громкость для StreamType, которая в данном случае является громкостью звонка.
Например, чтобы установить максимальную громкость звонка, вы делаете это!
audioManager.setStreamVolume(AudioManager.STREAM_RING, audioManager.getStreamMaxVolume(AudioManager.STREAM_RING), FLAG_ALLOW_RINGER_MODES|FLAG_PLAY_SOUND);
ОБНОВЛЕНИЕ
int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
Toast.makeText(this, Integer.toString(streamMaxVolume), Toast.LENGTH_LONG).show(); //I got 7
audioManager.setStreamVolume(AudioManager.STREAM_RING, streamMaxVolume, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);
ки. теперь, когда я дома, я могу попробовать коды. здесь, как вы можете видеть, streamMaxVolume дает мне целое число 7. Если вы попытаетесь установить его на 23 слишком много. поэтому возможные значения, которые вы можете использовать в setStreamVolume в моем случае, равны
0, 1, 2, 3, 4, 5, 6, 7
Самый низкий <-----> Самый высокий
//set to lowest ->
audioManager.setStreamVolume(AudioManager.STREAM_RING, 0, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);
//set to loudest ->
audioManager.setStreamVolume(AudioManager.STREAM_RING, 7, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);