বিজ্ঞপ্তি ক্লিক করার পরে অ্যান্ড্রয়েড বিজ্ঞপ্তি অদৃশ্য হয় না


133

কোনও বিজ্ঞপ্তি নিয়ে কিছু সমস্যা থাকলে আমি বিজ্ঞপ্তি বারে দেখাতে চাই। যদিও আমি বিজ্ঞপ্তিতে পতাকাটি সেট করেছি তবে 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);

উত্তর:


305

ভবন যদিও Notificationদ্বারা NotificationBuilderআপনি ব্যবহার করতে পারেন notificationBuilder.setAutoCancel(true);


2
সুতরাং, বিজ্ঞপ্তি ব্যবহার করে mNotificationManager.notify(1,notification);এবং নোটিফিকেশনবিল্ডার ব্যবহার করে কোন পার্থক্যগুলি বিজ্ঞপ্তি তৈরি করে mNotificationManager.notify(1, mBuilder.build());? ধন্যবাদ।
যোহানেস এআই

9
এই উত্তরটি গ্রহণ করা উচিত, এটি বর্তমান অ্যান্ড্রয়েড ডিজাইনের মতবাদের সাথে আরও
সারণি

এই উত্তরটি সঠিক। স্বীকৃত একটি কাজ কিন্তু সর্বদা না। জিসিএম (বা আপনি যা ব্যবহার করছেন) তে স্ট্যাক করা বিজ্ঞপ্তি রয়েছে যখন সমস্যা আছে। আপনি একবার নোটিফিকেশন সার্ভার পিং করলে এটি প্রচুর বিজ্ঞপ্তি দিয়ে ফিরে আসে এবং কখনও কখনও এটি বিজ্ঞপ্তির উপস্থিতিটি লুপ করে দেয়।
নিকোলা মিলুটিনোভিচ

5
notificationBuilder.setAutoCancel(true);আমার জন্য কাজ করছে না। আমার পেন্ডিং ইন্টেন্টের সামনে রাখা উচিত?
কায়ারি সান

129
notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL

ডকুমেন্টেশন থেকে:

বিটটি বিটওয়াইজ করতে হবে - বা পতাকা ক্ষেত্রের মধ্যে সম্পাদনা করা হবে যা ব্যবহারকারী দ্বারা ক্লিক করা হলে বিজ্ঞপ্তিটি বাতিল করতে হবে কিনা তা সেট করা উচিত


3
এটি সঠিক উত্তর নয়। Notification.DEFAULT_LIGHTSঅংশ Notification.defaultsবর্গ, না Notification.flagsবর্গ। উপযুক্ত উত্তরদাতাদের জন্য আমার উত্তর দেখুন।
ডারসি

বিজ্ঞপ্তি.ফ্লেগস = বিজ্ঞপ্তি Notification.FLAG_AUTO_CANCEL; এই পদ্ধতিটি আপনাকে ধন্যবাদ সিনিকের কাজ করছে
রবিকুমার 11

1
এই উত্তরের কোডটির ফলে একাধিকবার বিজ্ঞপ্তির শব্দ বাজানো হয়েছে। অন্যান্য উত্তরগুলি দেখুন।
নিষিদ্ধ-জিওঞ্জিনিয়ারিং

27
// 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;

1
আমি অ্যান্ড্রয়েড ডক্স দিয়েছি have পতাকাগুলি কখন ব্যবহার করা উচিত তা আমি পুরোপুরি পাই না। কেন কেবলমাত্র নটিফিকেশন নয় fa ডিফল্টস = নোটিফিকেশন DE কারণ পতাকা ছাড়া কম্পন এবং শব্দ কাজ করে।
আশ্বিন

নোটিফিকেশনবিল্ডার, নোটিফিকেশনকম্প্যাট.বিল্ডার এমবিল্ডার = নতুন নোটিফিকেশন কমপ্যাট.বিল্ডার (এটি) .setSmallIcon (android.R.drawable.ic_popup_sync) .setContentTitle ("নতুন টুইট") .setContentText ("টুইটারগুলি" + গণনা + "ব্যবহার করছে ; mBuilder.setDephaults (বিজ্ঞপ্তি কমপ্যাট.ডিএএফএএল.এল.এল.এল.এফ.এল.এফ.এল.এফ.এল.এফ.এল.এফ.এল.এইচ.এল.এইচ.ও.এইচ.ও.);
জোসেফ



1

ফ্ল্যাগ নোটিফিকেশন ব্যবহার করুন F 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);

0

একটি বিজ্ঞপ্তি সরান

নিম্নলিখিতগুলির মধ্যে একটি না হওয়া পর্যন্ত বিজ্ঞপ্তিগুলি দৃশ্যমান থাকে:

  1. ব্যবহারকারী বিজ্ঞপ্তিটি বাতিল করে দেয়।
  2. ব্যবহারকারী বিজ্ঞপ্তিটি ক্লিক করে এবং আপনি বিজ্ঞপ্তিটি তৈরি করার সময় সেটআউটক্যান্সেল () বলেছিলেন।
  3. আপনি একটি নির্দিষ্ট বিজ্ঞপ্তি আইডির জন্য বাতিল () কল করুন। এই পদ্ধতিটি চলমান বিজ্ঞপ্তিগুলিও মুছে দেয়।
  4. আপনি বাতিল সমস্ত () কল করুন, যা আপনি পূর্বে জারি করা সমস্ত বিজ্ঞপ্তি সরিয়ে দেয়।
  5. আপনি যদি সেটটাইমআউটএফটার () ব্যবহার করে কোনও বিজ্ঞপ্তি তৈরি করার সময় টাইমআউট সেট করেন তবে নির্দিষ্ট সময়সীমা অতিক্রান্ত হওয়ার পরে সিস্টেমটি বিজ্ঞপ্তিটি বাতিল করে। যদি প্রয়োজন হয় তবে নির্দিষ্ট সময়সীমা বেঁধে যাওয়ার আগে আপনি কোনও বিজ্ঞপ্তি বাতিল করতে পারেন।

আরও তথ্যের জন্য দেখুন: https://developer.android.com/training/notify-user/build-notifications?hl=en

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.