web-dev-qa-db-ja.com

Android-通知マネージャー、意図のない通知を持っている

タイマーが終了したことをユーザーに警告する通知を起動できるようにしたいと思いますが、通知をクリックしたときに意図を持ちたくありません。

私は意図のためにnullを渡そうとしました

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

パラメータを渡すことができます

_PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0)
_

の代わりに

_null
_

オン

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

76
faradaj

setLatestEventInfo()の最後のパラメーターはPendingIntentではなくIntentです。タップしたときに何もしない通知が必要な場合は、空のPendingIntentを渡すことです。これは、PendingIntent.getActivity(context、0、null、0)のように行われます。

9

興味深い質問です。これがうまくいくかどうかを確認したいと思います。少し掘り下げてみたところ、同じ質問をしている人がたくさんいました。 cburskは、この意図された機能を取得するためのハックを見つけたようです。これは、アクティビティではなく通知インテントにダイアログを渡すことです。 Dialogは何もしないか、すぐに消えるようにプログラムされていると思いますが、わかりません。しかし、私は現在 このスレッドを見て であり、それをテストするつもりです。

1
Matt K