Как получить URI текущую/стандартную мелодию для входящих SMS?

Я пишу приложение, которое предназначено для замены стандартного/биржевого мессенджера. Поэтому мне нужно определить мелодию по умолчанию для входящих сообщений. Я имею в виду входящую SMS-оповещение.

Кто-нибудь знает, как его получить?

Ответ 1

Для звука уведомления по умолчанию:

String defaultPath = Settings.System.DEFAULT_NOTIFICATION_URI.getPath(); 

Ответ 2

Чтобы получить объект Ringtone стандартного рингтона, используйте RingtoneManager:

Ringtone ringtone = RingtoneManager.getRingtone(context, Settings.System.DEFAULT_RINGTONE_URI);

Если пользователь изменил мелодию звонка по умолчанию на мелодию звонка, предоставленную в стороннем приложении-мессенджере, AFAIK вы не сможете получить доступ к новой мелодии звонка, если стороннее приложение не предоставляет свои рингтоны через ContentProvider.

Ответ 3

Если вы используете классы Notification.Builder или NotificationCompact.Builder, вызов setSound(Settings.System.DEFAULT_NOTIFICATION_URI) в конструкторе должен сделать трюк.

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

Ответ 4

Тот, который мне помог, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).