Use AudioManager.adjustStreamVolume() com ADJUST_RAISE. Requer permissão MODIFY_AUDIO_SETTINGS (concedida a apps de sistema/com consentimento do usuário via painel de volume).
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
audioManager.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_SHOW_UI // ou FLAG_PLAY_SOUND
)
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_SHOW_UI
);
STREAM_MUSIC — mídia, jogos, vídeo.STREAM_RING — toques, notificações.STREAM_ALARM — alarmes.STREAM_VOICE_CALL — volume em chamada.STREAM_SYSTEM — sons do sistema.STREAM_DTMF — tons de discagem.STREAM_ACCESSIBILITY — TalkBack.STREAM_BLUETOOTH_SCO — voz headset BT.FLAG_SHOW_UI — mostra toast do slider de volume do sistema.FLAG_PLAY_SOUND — toca tom de mudança de volume.FLAG_REMOVE_SOUND_AND_VIBRATE — ajuste silencioso.FLAG_VIBRATE — feedback tátil.Use AudioManager.setStreamVolume() com índice absoluto (0–máx) para controle preciso. Consulte o máximo via getStreamMaxVolume().
val maxVol = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVol, AudioManager.FLAG_SHOW_UI)
adjustStreamVolume (iniciado pelo usuário).setStreamVolume requer MODIFY_AUDIO_SETTINGS_NOTIFICATION_POLICY ou ação do usuário.onKeyDown(KeyEvent.KEYCODE_VOLUME_UP) na Activity.Teste em dispositivo real — roteamento de áudio do emulador difere.
Tecnologia Eletrônica © [www.351231.com]