Я предоставляю пользователю возможность отключить мое приложение с помощью AudioManager. Я хочу иметь пользователя unmute приложение к тому же тому, что пользователь был изначально на. Итак, я создал переменную, к которой можно получить доступ с всех моих действий, создав отдельный класс java. Эта переменная получает первоначальный объем:Установка объема обратно в исходное состояние?
public class userVolumeOnStart {
static AudioManager mAudioManager;
public static int userVolume = setVolume(); //Setting it equal to the return value of method setVolume
public static int setVolume() {
userVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM);
return userVolume;
}
}
Я называю это с другой деятельности, чтобы включить его, как так:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, userVolumeOnStart.userVolume, 0);
Toast.makeText(Main_Menu.this, "UNMUTED", Toast.LENGTH_SHORT).show();
По какой-то причине, я получаю исключения, когда я пытаюсь приглушение его к пользователи первоначального объема:
ExceptionInInitializationError
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, userVolumeOnStart.userVolume, 0);
NullPointerException
userVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM);
public static int userVolume = setVolume(); //Setting it equal to the return value of method setVolume
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, userVolumeOnStart.userVolume, 0);
я застрял, пытаясь исправить это в течение многих часов, и я просмотрел в Интернете, не повезло. Пожалуйста, помогите мне включить приложение в том же томе, в котором пользователь был изначально включен. Я был бы признателен за вашу помощь и обратную связь (положительный или отрицательный!)
Спасибо,
{Rich}
Вы можете добавить logcat в этот вопрос, что именно происходит как null? – Bhargav
btw где вы инициализируете 'mAudioManager' – Bhargav
@Bhargav OH! Я забыл инициализировать его –