Sto usando MixPanel per inviare notifica push e sul payload personalizzato aggiungo il seguente codice: {"audio": "predefinito"} il problema è che nessun suono viene riprodotto quando Ricevo la notifica Qualcuno ha una soluzione per questo?Notifica push Android come riprodurre il suono predefinito
risposta
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();
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));
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
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
Risposta corretta per me (utilizzando il codice Xamarin adattato). Ho completamente dimenticato di verificare se Builder avesse un metodo SetSound! Grazie. – nrod
prova seguente codice
Notification notification = new Notification(R.drawable.appicon,
"Notification", System.currentTimeMillis());
notification.defaults = Notification.DEFAULT_SOUND;
final Notification notification =
new Notification(iconResId, tickerText, System.currentTimeMillis());
final String packageName = context.getPackageName();
notification.sound =
Uri.parse("android.resource://" + packageName + "/" + soundResId);
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.
mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);
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.
è possibile impostare il suono di notifica push in manifest? – Pruthviraj