क्लिक करने के बाद नोटिफिकेशन निकालें


120

मैं चाहता हूं कि उपयोगकर्ता द्वारा उस पर क्लिक करने के बाद अधिसूचना बंद हो जाएगी। मैंने देखा कि हर कोई झंडे का उपयोग करने के लिए कह रहा है, लेकिन मैं कहीं भी झंडे नहीं ढूँढ सकता क्योंकि मैं NotificationCompat.Builder वर्ग का उपयोग कर रहा हूं और प्रचारक वर्ग नहीं। किसी के पास कोई विचार है कि अधिसूचना को अपने द्वारा कैसे हटाया जाए?
जब मैं अधिसूचना सेट कर रहा हूं तो मेरा कोड यहां है:

NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_launcher)
            .setContentTitle("New Question")
            .setContentText("" + QuestionData.getAuthor().getUserName() + ": " + QuestionData.getQuestion() + "");

    Intent openHomePageActivity = new Intent("com.example.ihelp.HOMEPAGEACTIVITY");
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    stackBuilder.addNextIntent(openHomePageActivity);

    PendingIntent resultPendingIntent =
            stackBuilder.getPendingIntent(
                0,
                PendingIntent.FLAG_UPDATE_CURRENT
            );
    mBuilder.setContentIntent(resultPendingIntent);
    NotificationManager mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);       

    mNotificationManager.notify(0, mBuilder.build());

जवाबों:


325

आसान है, बस इसे कॉल करें:

mBuilder.setAutoCancel(true);

इसके अलावा, जबकि यह वास्तव में आवश्यक नहीं है, यदि आप वास्तव में उपयोग करना चाहते हैं, तो FLAG_AUTO_CANCELकॉल करने से पहले बस इसे कॉल करें mNotificationManager.notify:

mBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;

2
यह सबसे अच्छा जवाब है। झंडा_आटो_कैंसेल काम नहीं कर रहा था..तुमने मेरा दिन बचाया!
उपमाट्टियो

16
getNotificationsपदावनत किया जाता है, का उपयोग करें: mBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;इसके बजाय
जुलाब

mBuilder.build () भी पदावनत है
मानसु ....

2
जब मैं अधिसूचना पर टैप करता हूं, तो यह setAutoCancel (सच) काम करता है, वास्तव में। लेकिन जब मैं नोटिफिकेशन में एक्शन (मेरे मामले में कॉल) पर क्लिक करता हूं, तो यह काम नहीं करता है!
Async-

1
कृपया मेरा प्रश्न यहाँ देखें: stackoverflow.com/questions/37595594/…
Async-

18

इसे इस्तेमाल करे....

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

 ..........
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
            this).setSmallIcon(R.drawable.push_notify_icon)
            .setContentTitle("New Question!")
            .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
            .setAutoCancel(true).setContentText("" + QuestionData.getAuthor().getUserName() + ": " + QuestionData.getQuestion() + "");
mBuilder.setContentIntent(contentIntent);

    ..............        


mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
mNotificationManager.notify(0, mBuilder.build());

1
.getNotification()के .build()बजाय अब उपयोग के रूप में पदावनत किया जाता हैmBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;
शीलेंद्र मद्दा 12

9

यहाँ अधिसूचना है:

    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_calendar)
            .setContentTitle("My Firebase Push notification")
            .setContentText(message)
            .setAutoCancel(true)
            .setSound(soundUri)
            .setContentIntent(pendingIntent);

क्लिक पर रद्द करने के पीछे की कुंजी यह है:

            .setAutoCancel(true)

मुझे आशा है कि यह मामला सुलझा लेगा।



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.