Я разработал приложение для Android для смены мелодий звонка. Это работает довольно хорошо, но одна вещь беспокоит меня.
Когда я устанавливаю мелодию звонка в качестве сигнала уведомления, она воспроизводится при получении SMS-сообщения. Однако если в настройках SMS я ранее выбрал пользовательский тональный сигнал SMS (т. Е. Что-либо, кроме «Мелодия звонка по умолчанию», которая активна по умолчанию), новый тональный сигнал уведомления не будет воспроизводиться при получении SMS.
Это может привести к ситуации, когда кто-то установит приложение для мобильного телефона с Android Market, установит тон уведомления и будет разочарован, потому что выбранное уведомление не будет воспроизводиться, когда он получит SMS. Решение довольно простое (SMS -> Настройки -> Выбрать рингтон -> Рингтон по умолчанию), но это действительно неприятно, если он не знает этого.
Это то, что я использую для установки тона уведомления:
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
.....
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, persistentUri);