web-dev-qa-db-ja.com

Android通知をクリックしても通知が消えない

通知で問題が発生した場合、通知バーに表示したいです。通知フラグをNotification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCELに設定しましたが、クリックしても通知は消えません。私が間違っていることは何ですか?

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    int icon = R.drawable.icon;
    CharSequence tickerText = "Ticker Text";
    long time = System.currentTimeMillis();

    Notification notification = new Notification(icon, tickerText, time);
    notification.flags = Notification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCEL; 

    Context context = getApplicationContext();
    CharSequence contentTitle = "Title";
    CharSequence contentText = "Text";
    Intent notificationIntent = new Intent(this, SilentFlipConfiguration.class);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
    mNotificationManager.notify(1,notification);
122
Flo

NotificationNotificationBuilderを構築するときに、notificationBuilder.setAutoCancel(true);を使用できます。

283
Kamil Lelonek
notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL

ドキュメントから:

ビットはビット単位ですまたはユーザーがクリックしたときに通知をキャンセルする必要がある場合に設定する必要があるフラグフィールドに入力します。

129
synic
// Uses the default lighting scheme
notification.defaults |= Notification.DEFAULT_LIGHTS;

// Will show lights and make the notification disappear when the presses it
notification.flags |= Notification.FLAG_AUTO_CANCEL | Notification.FLAG_SHOW_LIGHTS;
27
Darcy

2016年の状態:mBuilder.setAutoCancel(true)を使用できます。

ソース: https://developer.Android.com/reference/Android/app/Notification.Builder.html

13
artdias90

私の答えはmBuilder.setOngoing(false)を使用することでした

1
Machine Tribe

フラグNotification.FLAG_AUTO_CANCELを使用します

Notification notification = new Notification(icon, tickerText, when);
notification.setLatestEventInfo(context, contentTitle, contentText, pendingIntent);

// Cancel the notification after its selected
notification.flags |= Notification.FLAG_AUTO_CANCEL;

アプリを起動するには:

NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

Intent intent = new Intent(context, App.class);

PendingIntent pendingIntent = PendingIntent.getActivity(context, intent_id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
1
Sachin Suthar