Я пишу приложение, которое призвано заменить стандартный/стандартный мессенджер. Поэтому мне нужно определить мелодию звонка по умолчанию для входящих сообщений. Я имею в виду мелодию уведомления о входящем СМС.
Кто-нибудь знает, как его получить?
Я пишу приложение, которое призвано заменить стандартный/стандартный мессенджер. Поэтому мне нужно определить мелодию звонка по умолчанию для входящих сообщений. Я имею в виду мелодию уведомления о входящем СМС.
Кто-нибудь знает, как его получить?
Для звука уведомлений по умолчанию:
String defaultPath = Settings.System.DEFAULT_NOTIFICATION_URI.getPath();
Чтобы получить объект Ringtone
мелодии звонка по умолчанию, используйте RingtoneManager
:
Ringtone ringtone = RingtoneManager.getRingtone(context, Settings.System.DEFAULT_RINGTONE_URI);
Если пользователь изменил мелодию звонка по умолчанию на мелодию звонка, предоставленную в стороннем приложении для обмена сообщениями, AFAIK, вы не сможете получить доступ к новой мелодии звонка, если стороннее приложение не предоставляет свои мелодии звонка через файл ContentProvider
.
Если вы используете классы Notification.Builder
или NotificationCompact.Builder
, вызов setSound(Settings.System.DEFAULT_NOTIFICATION_URI)
в построителе должен помочь.
Это будет воспроизводить тон уведомления по умолчанию, который пользователь выбрал, когда система отображает ваше уведомление.
Мне помог RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
.