Je voudrais pouvoir déclencher une notification pour alerter les utilisateurs sur une minuterie terminée, mais je ne souhaite pas avoir d'intention lorsque vous cliquez sur la notification.
J'ai essayé de passer null pour l'intention
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
int icon = R.drawable.icon;
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
notification.setLatestEventInfo(context, contentTitle, contentText, null);
mNotificationManager.notify(HELLO_ID, notification);
Vous pouvez passer le paramètre
PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0)
au lieu de
null
sur
notification.setLatestEventInfo(context, contentTitle, contentText, null);
Le dernier paramètre dans setLatestEventInfo()
est un PendingIntent
et non un Intent
. Si vous avez besoin de la notification pour ne rien faire lorsque vous appuyez sur, c'est pour passer un PendingIntent vide qui se fait comme suit: PendingIntent.getActivity (context, 0, null, 0).
Question intéressante et j'aimerais voir si cela fonctionne. J'ai creusé un peu et j'ai trouvé beaucoup de gens posant la même question. cbursk semble avoir trouvé un hack pour obtenir cette fonctionnalité prévue, qui est de passer un dialogue à l'intention de notification au lieu d'une activité. Je suppose que la boîte de dialogue ne fait rien ou est programmée pour se rejeter immédiatement, je n'en suis pas sûr. Mais je suis actuellement en regardant ce fil et je vais le tester.