2013-05-21 13 views
6

La mia app sta visualizzando le notifiche e quando viene visualizzata una notifica, viene riprodotto un suono. Ma quando il mio telefono è in "modalità silenziosa" la notifica non viene riprodotta. Voglio "sovrascrivere" le impostazioni del volume e riprodurre un suono sebbene sia impostata la modalità silenziosa. C'è un modo per farlo?Riproduzione audio nelle notifiche Android anche se la modalità silenziosa telefono è impostata

+4

Sarebbe felice se imposti la modalità silenziosa per il tuo telefono durante una riunione importante e ricevi ancora il suono di notifica da un'app? È reasone perché l'utente imposta la modalità silenziosa. –

+1

Sì, perché la mia app avrà un'opzione come questa: "riproduci l'audio anche se la modalità silenziosa è impostata", così l'utente può usare questa funzione o meno;) –

+0

Quindi, la soluzione è la modalità normale, riproduci il suono della notifica e poi metti in silenzio modalità indietro. –

risposta

5

Hi è possibile utilizzare MediaPlayer come il suono di notifica, avviando un servizio che gioca è il MediaPlayer quando viene mostrata la notifica.

Per interrompere l'audio, interrompere il servizio in BroadCastReceiver del PendingIntent della notifica.

Inoltre, non dimenticare di interrompere il suono quando la notifica viene annullata.

+0

Penso che la tua risposta possa essere un buon modo per farlo. Ci proverò, grazie! –

4
AudioManager am; 
am= (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE); 
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
+0

Grazie per la risposta. Come posso usarlo con le notifiche? Dovresti impostare RINGER_MODE_NORMAL prima di chiamare myNotificationManager.notify e impostarlo nuovamente su silent dopo? È il modo corretto per farlo? –

+0

Non funziona :(Ho impostato la modalità normale, poi ho mostrato la notifica, e poi l'ho di nuovo silente, ma non c'è suono ... Se non lo riattivo, l'audio suona .. Mi piacerebbe che NotificationManager.notify avesse una richiamata per eseguire il codice quando viene mostrata la notifica :( –

1

uso questa opzione per consentire suono di notifica -

Settings.System.putInt(getContentResolver(),android.provider.Settings.System.NOTIFICATION_SOUND, 1); 

Non dimenticate dare il permesso a manifestare -

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
+0

Cosa fa? È lo stesso ?: AudioManager am; am = (AudioManager) getBaseContext(). GetSystemService (Contesto. AUDIO_SERVICE); am.setRingerMode (AudioManager.RINGER_MODE_NORMAL); –

+0

Modifica le impostazioni di sistema per riprodurre suoni per la notifica. Se non funziona, prova diverse impostazioni come "SOUND_EFFECTS_ENABLED", "VOLUME_NOTIFICATION'," VOLUME_SYSTEM ". lista rimandi [this] (http://developer.android.com/referen ce/android/fornitore/Settings.System.html). – mjosh

+0

-1: è necessaria l'autorizzazione aggiuntiva e non penso che l'utente sarebbe felice di avere le sue impostazioni modificate. Ci sono altri modi per ottenere ciò che è meno hacky e offre all'utente un'esperienza migliore. – zoltish

Problemi correlati