Mi sembra che questo dovrebbe essere banale ma non riesco a far apparire una notifica sullo schermo del telefono - si presenta solo nella barra di stato in alto.Come visualizzare le notifiche Android sullo schermo e l'icona della barra di stato?
Per un esempio di ciò che voglio fare, ecco come Facebook Messenger viene visualizzato sullo schermo quando si riceve un messaggio.
Ogni volta che inviare una notifica, non fa altro che mostrare la piccola icona nella barra di stato - anche se ho impostato la priorità a PRIORITY_MAX. C'è un'altra impostazione che devo fare per farlo apparire sullo schermo invece della barra di stato?
Il codice di visualizzazione di notifica:
PendingIntent contentIntent = PendingIntent.getActivity(context, nextId++, intent, PendingIntent.FLAG_CANCEL_CURRENT);
Notification.Builder builder = new Notification.Builder(context)
.setContentTitle(title)
.setContentText(description)
.setContentIntent(contentIntent)
.setSmallIcon(R.drawable.ic_stat_notification)
.setLargeIcon(largeIcon)
.setPriority(Notification.PRIORITY_DEFAULT)
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL);
if (android.os.Build.VERSION.SDK_INT >= 21) {
builder.setColor(context.getResources().getColor(R.color.orange_500))
.setVisibility(Notification.VISIBILITY_PUBLIC);
}
Notification notification = builder.build();
notificationManager.notify(id, notification);
Una notifica di testa a testa come quella dovrebbe sorgere attraverso l'utilizzo di alta priorità con il tuo 'NotificationCompat.Builder'. Vedi: https://github.com/commonsguy/cw-omnibus/tree/master/Notifications/Lollipop – CommonsWare
Ah, eccolo. Strano che tu abbia bisogno di usare "NotificationCompat.Builder" per farlo. Se vuoi aggiungerlo come risposta, lo accetto. –