2012-07-25 12 views
10

Sto scrivendo un'applicazione che intendeva sostituire lo standard/magazzino di messaggistica. Quindi ho bisogno di definire la suoneria predefinita per i messaggi in arrivo. Intendo la suoneria di notifica SMS in entrata.Come ottenere la suoneria URI corrente/predefinita per gli SMS in arrivo?

Qualcuno sa come ottenerlo?

+0

questi link potrebbero aiutarti http://stackoverflow.com/questions/3387556/incoming-call-dynamically-override-default-ringtone http://stackoverflow.com/questions/2092470/android-detect-which-ringtone -is-in-realtà-suoneria-isplaying-problema? rq = 1 –

risposta

10

Per suono di notifica di default:

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

Non funziona con marshmallow –

+0

stesso qui, non funziona Marshmallow in poi – sud007

11

per recuperare l'oggetto della suoneria predefinita Ringtone, utilizzare il RingtoneManager:

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

Se l'utente ha cambiato la suoneria di default per una suoneria previsto un'app di messaggistica di terze parti, AFAIK non è possibile accedere alla nuova suoneria a meno che l'app di terzi non esponga le sue suonerie tramite uno ContentProvider.

2

Se si utilizzano le classi Notification.Builder o NotificationCompact.Builder, chiamare il setSound(Settings.System.DEFAULT_NOTIFICATION_URI) sul builder dovrebbe fare il trucco.

Questo riprodurrà il tono di notifica predefinito che l'utente ha selezionato quando il sistema visualizza la notifica.

1

Quello che mi ha aiutato è RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).

+0

Non funziona con marshmallow –

Problemi correlati