para - manual de programacion android pdf
Notificación que no se muestra (4)
Como @dmmh dijo que el código no funcionará sin un ícono. Entonces, después de modificar el código con
.setSmallIcon (R.drawable.icon)
el proyecto funciona perfectamente antes de Oreo.
Pero la notificación de forma oreo necesita NotificationChannel
y NotificationCompat.Builder(this)
está en desuso, pruébelo:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(mContext.getApplicationContext(), "notify_001");
Intent ii = new Intent(mContext.getApplicationContext(), RootActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, ii, 0);
NotificationCompat.BigTextStyle bigText = new NotificationCompat.BigTextStyle();
bigText.bigText(verseurl);
bigText.setBigContentTitle("Today''s Bible Verse");
bigText.setSummaryText("Text in detail");
mBuilder.setContentIntent(pendingIntent);
mBuilder.setSmallIcon(R.mipmap.ic_launcher_round);
mBuilder.setContentTitle("Your Title");
mBuilder.setContentText("Your text");
mBuilder.setPriority(Notification.PRIORITY_MAX);
mBuilder.setStyle(bigText);
NotificationManager mNotificationManager =
(NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel("notify_001",
"Channel human readable title",
NotificationManager.IMPORTANCE_DEFAULT);
mNotificationManager.createNotificationChannel(channel);
}
mNotificationManager.notify(0, mBuilder.build());
Estudio de caso: necesito un programa que agregará una notificación en android. Y cuando alguien hace clic en la notificación, debería llevarlos a mi segunda actividad.
He establecido un código. La notificación debería estar funcionando, pero por alguna razón no está funcionando. La Notification
no se muestra en absoluto. No sé qué me estoy perdiendo.
Código de esos archivos:
Notification n = new Notification.Builder(this)
.setContentTitle("New mail from " + "[email protected]")
.setContentText("Subject")
.setContentIntent(pIntent).setAutoCancel(true)
.setStyle(new Notification.BigTextStyle().bigText(longText))
.build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Hide the notification after its selected
notificationManager.notify(0, n);
Creo que olvidas el
addAction(int icon, CharSequence title, PendingIntent intent)
mira aquí AddAction
En realidad, la respuesta de @ tato469 no parece ser correcta. Por otra parte, su pregunta es demasiado vaga porque no menciona lo que está mal o no está funcionando.
Al mirar tu código, asumo que la Notification
simplemente no se muestra.
Su notificación no se muestra porque no proporcionó un ícono. A pesar de que la documentación del SDK no menciona que se requiera, de hecho lo es mucho y su Notification
no se mostrará sin una.
addAction
solo está disponible desde 4.1. Antes de eso, usaría PendingIntent
para iniciar una Activity
. Parece que especifica un PendingIntent
, por lo que su problema está en otra parte. Lógicamente, uno debe concluir que es el ícono que falta.
Te estabas perdiendo el icono pequeño. Cometí el mismo error y el paso anterior lo resolvió.
Según la documentación oficial: un objeto de Notification debe contener lo siguiente:
Un pequeño icono, establecido por setSmallIcon()
Un título, establecido por setContentTitle()
Texto detallado, establecido por setContentText()
En Android 8.0 (nivel de API 26) y superior , un ID de canal de notificación válido, establecido por setChannelId() o proporcionado en el constructor NotificationCompat.Builder al crear un canal.