Android-слушатель для изменения громкости звонка и других настроек? - PullRequest
3 голосов
/ 02 марта 2011

Мне было интересно, есть ли способ узнать, изменил ли пользователь громкость звонка или какие-либо настройки на телефоне?Я пытаюсь создать приложение с такой возможностью: определяет, изменил ли пользователь громкость звонка или какие-либо настройки на своем устройстве?

1 Ответ

1 голос
/ 13 апреля 2012

Я решил похожую проблему. Мне пришлось ограничить максимальную громкость в приложении, так что я сделал это (звук является экземпляром AudioManager):

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP){
        if(audio != null){
            int curVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
            int maxVolume = Preferences.getDefaultMaxVolume(Main.this);
            if(curVolume > maxVolume) audio.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0);
        }

    } 

    return super.onKeyDown(keyCode, event);
}

Вы можете просто использовать метод setStreamVolume () для постепенного изменения громкости, если это необходимо ...

...