Цель выбора мелодии звонка - мелодия по умолчанию

Я хочу позволить пользователю выбрать мелодию уведомления для push-уведомлений моего приложения. Вот что я делаю:

    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);

    startActivity(intent);

Это результат:

Все идет нормально. Однако на некоторых устройствах для всех производителей "звук уведомления по умолчанию" (первая запись в диалоговом окне выбора) указывает на мелодию вызова устройства, а не мелодию уведомления.

Когда пользователь нажимает "Звук уведомления по умолчанию", вместо звука уведомления по умолчанию воспроизводится мелодия вызова устройства по умолчанию.

Рингтоны установлены правильно в настройках устройства, Intent Я огонь, кажется, забрать неправильный рингтон.

Есть идеи, что может пойти не так?

1 ответ

Это можно исправить, передав явно Uri желаемой мелодии по умолчанию:

    intent.putExtra(
            RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
            RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
Другие вопросы по тегам