Поиск методов переключения между:
- Всегда
- Никогда
- Только в тихом режиме
- Только когда не в тихом режиме
Это легко изменить с помощью навигации по телефону (кстати, у меня телефон Motorola Atrix 2 с Android 2.3.3), но я еще не встречал методов для использования в своем коде.
Код
У меня в основном есть кнопки, которые должны управлять вибрацией настройки при нажатии. Здесь показана одна из этих кнопок:
Код: Выделить всё
bSilent.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);
Toast.makeText(getBaseContext(), "Set to Never", Toast.LENGTH_SHORT).show();
}
});
Код: Выделить всё
final AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
http://developer.android.com/reference/ ... nager.html
Однако использование этих функций (и любой их комбинации) не позволяет эффективно переключаться между четырьмя настройками вибрации. Например, если я начну с «Всегда», мне будет невозможно добраться до «Никогда». Все комбинации методов вибрации будут переключаться только между «Всегда» и «Только в беззвучном режиме». С другой стороны, если я начну с «Никогда», предлагаемые методы будут переключаться только между «Никогда» и «Только когда не в беззвучном режиме».
Поэтому предположим, что я хочу, чтобы мой телефон работал в беззвучном режиме и чтобы он вибрировал. Затем я решаю, что не хочу, чтобы он больше вибрировал. Я не могу переключиться с «Всегда» или «Только в автоматическом режиме» на «Никогда».
Предыдущие решения и публикации
Я знаю, что это своего рода дубликат сообщения на StackOverflow. Проблема уже поднималась ранее...
Здесь: Настройки вибрации на Android 2.2
И (совсем недавно) здесь: Изменение настроек вибрации
Первая из ссылок дает «ответ». LuTHieR вступает в дискуссию и в конце концов находит выход самостоятельно. Он ссылается на сайт:
https://android.googlesource.com/platfo ... tings.java
и говорит: «Я просмотрел исходный код класса com.android.settings.Settings и скопировал часть методов, которые включают и отключают вибрировать".
Я внимательно просмотрел этот сайт и не смог найти то, что он сделал. Может ли кто-нибудь разъяснить свое решение?
Вопрос
Есть ли у кого-нибудь способ точного переключения между «Всегда», «Никогда», «Только в тихом режиме» и «Только когда не в тихом режиме»?
Подробнее здесь: https://stackoverflow.com/questions/113 ... n-silent-m
Мобильная версия