37 votes

Android - gestionnaire de notifications, réception d'une notification non intentionnelle

J'aimerais pouvoir envoyer une notification pour avertir les utilisateurs de la fin d'une minuterie, mais je ne souhaite pas qu'il y ait une intention lorsque vous cliquez sur la notification.

J'ai essayé de passer en nullité 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);

76voto

faradaj Points 1710

Vous pouvez passer le paramètre

PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0)

au lieu de

null

sur

notification.setLatestEventInfo(context, contentTitle, contentText, null);

9voto

Vikram Bodicherla Points 3855

Le dernier paramètre dans setLatestEventInfo() es un PendingIntent et non un Intent . Si vous voulez que la notification ne fasse rien lorsqu'elle est touchée, il faut passer un PendingIntent vide, ce qui se fait comme suit : PendingIntent.getActivity(context, 0, null, 0).

1voto

Matt K Points 2735

Question intéressante et j'aimerais voir si cela fonctionne. J'ai fait un peu de recherche et j'ai trouvé beaucoup de personnes posant la même question. cbursk semble avoir trouvé une astuce pour obtenir la fonctionnalité prévue, qui consiste à passer une boîte de 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 s'effacer immédiatement, je ne suis pas sûr. Mais je suis actuellement en train de en regardant ce fil de discussion et je vais le tester.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X