Перейти на экран настроек - PullRequest
25 голосов
/ 08 марта 2009

Я хочу открыть экран Настройки-> Звук и дисплей-> Мелодии звонка из моего приложения. Как я могу это сделать?

Ответы [ 2 ]

47 голосов
/ 08 марта 2009

В зависимости от ваших потребностей, есть несколько вариантов вызова экрана настроек «Мелодии вызова» из вашего приложения.

Если вы хотите вызвать экран фактических настроек, который обычно доступен через системные настройки - позволяя вашему пользователю изменять настройки универсального рингтона телефона через ваше приложение - вы можете использовать константу ACTION_SOUND_SETTINGS из класса android.provider.Settings создать новый Намерение начать настройку звука.

startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0);

Если вы хотите выбрать собственную мелодию звонка для использования в вашем приложении, вам нужно добавить RingtonePreference в ваш файл определения preferences.xml, например:

<RingtonePreference
  android:key="alerts_ringtone"
  android:title="Select ringtone" 
  android:showDefault="true"
  android:showSilent="true"
  android:ringtoneType=""
/> 

Вы сможете получить URI для выбранного предпочтения в приложении по умолчанию SharedPreferences, используя alerts_ringtone в качестве ключа.

Последний метод использует класс PreferenceActivity для размещения параметров предпочтений. Я не буду описывать это подробно здесь, поскольку документация Android имеет хорошую рецензию и некоторый пример кода.

7 голосов
/ 05 марта 2013

Это альтернативное решение проблемы. Я также работаю над той же задачей, но приведенный выше код не работает для меня. Я изменил код на

startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0);

и теперь оно работает.

...