web-dev-qa-db-fra.com

Android - gestionnaire de notifications, avoir une notification sans intention

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);
37
Garbit

Vous pouvez passer le paramètre

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

au lieu de

null

sur

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

76
faradaj

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).

9
Vikram Bodicherla

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.

1
Matt K