2014-09-03 9 views

risposta

4

Forse questo aiuta trovato here codice sarà simile a questa.

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); 
r.play(); 
+0

è possibile impostare il suono di notifica push in manifest? – Pruthviraj

1

Supponendo di avere una dichiarazione ...

NotificationCompat.Builder mBuilder = 
      new NotificationCompat.Builder(this) 
        .setAutoCancel(true) 
        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)) 
        .setTicker(title) 
        .setWhen(ts) 
        .setContentTitle(title) 
        .setStyle(new NotificationCompat.BigTextStyle() 
          .bigText(message)) 
        .setContentText(message); 

... variabile costruito da qualche parte nel codice, provate questo:

final String ringTone = "default ringtone"; // or store in preferences, and fallback to this 
mBuilder.setSound(Uri.parse(ringTone)); 
+0

ottengo un errore che dice "mBuilder non è inizializzata" Se clicco sul pulsante correzione automatica Eclipse inizializzare mBuilder al nulla e quando faccio funzionare l'applicazione si blocca – Signo

+0

ho detto "assumendo" lo avete compilato da qualche parte. Ad ogni modo, sembrerebbe il codice modificato sopra. Nota, devi impostare il titolo, ts e le variabili del messaggio! – alpinescrambler

+0

Risposta corretta per me (utilizzando il codice Xamarin adattato). Ho completamente dimenticato di verificare se Builder avesse un metodo SetSound! Grazie. – nrod

1

prova seguente codice

Notification notification = new Notification(R.drawable.appicon, 
       "Notification", System.currentTimeMillis()); 
notification.defaults = Notification.DEFAULT_SOUND; 
1
final Notification notification = 
    new Notification(iconResId, tickerText, System.currentTimeMillis()); 
final String packageName = context.getPackageName(); 
notification.sound = 
    Uri.parse("android.resource://" + packageName + "/" + soundResId); 
0

Il GCMReceiver predefinito nella libreria Mixpanel per Android che gestisce le notifiche push in arrivo da Mixpanel non include i suoni. Avrai bisogno di scrivere il tuo BroadcastReceiver per elaborare i messaggi in arrivo da Mixpanel.

È possibile dare un'occhiata alla documentazione di Mixpanel per l'utilizzo dell'API di basso livello a: https://mixpanel.com/help/reference/android-push-notifications#advanced - quindi si applica il consiglio delle altre risposte per fare tutto ciò che si desidera con il proprio carico di dati personalizzato.

1
mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI); 
2

Al fine di inviare la notifica + suono usando MixPanel, è necessario effettuare le seguenti operazioni:

  • aggiungere il seguente codice al onCreate:

     NotificationCompat.Builder mBuilder = 
           new NotificationCompat.Builder(this); 
         mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI); 
         Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
         Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification); 
         r.play(); 
    
  • inviare una notifica da mixpanel e vederlo ricevuto. Questo invierà una notifica sulla creazione con audio predefinito configurato sul dispositivo dell'utente.