Я создаю уведомления в своем приложении Android и хотел бы иметь опцию в своих предпочтениях для установки, какой звук используется для уведомления. Я знаю, что в приложении Настроек можно выбрать звук уведомления по умолчанию из списка. Где это перечисляет, прибывают из, и есть ли способ для меня отобразить тот же список в моем приложении?
Просто скопируйте / вставьте какой-нибудь код из одного из моих приложений, которое делает то, что вы ищете.
Это находится в обработчике onClick кнопки с надписью «установить мелодию звонка» или чего-то подобного:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, (Uri) null);
this.startActivityForResult(intent, 5);
И этот код фиксирует выбор, сделанный пользователем:
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent intent)
{
if (resultCode == Activity.RESULT_OK && requestCode == 5)
{
Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null)
{
this.chosenRingtone = uri.toString();
}
else
{
this.chosenRingtone = null;
}
}
}
Кроме того, я советую своим пользователям установить «Расширенные кольца» "из Android Market. Затем всякий раз, когда это диалоговое окно открывается на их устройстве, например, из моего приложения или из меню настроек телефона, у пользователя будет дополнительный выбор выбора любого из mp3-файлов, хранящихся на его устройстве, а не только встроенных мелодий звонка.