यह उदाहरण इस बारे में प्रदर्शित करता है कि गतिविधि क्रैश होने पर Android सूचना कैसे साफ़ करें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<पूर्व> xml संस्करण ="1.0" एन्कोडिंग ="utf-8"?>चरण 3 - निम्न कोड को src/MainActivity में जोड़ें।
पैकेज app.tutorialspoint.com.notifyme;import android.app.NotificationChannel;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.os.Bundle;import android. support.v4.app.NotificationCompat; आयात android.support.v7.app.AppCompatActivity; आयात android.view.View; सार्वजनिक वर्ग MainActivity AppCompatActivity का विस्तार करता है {सार्वजनिक स्थिर अंतिम स्ट्रिंग NOTIFICATION_CHANNEL_ID ="10001"; निजी अंतिम स्थिर स्ट्रिंग डिफ़ॉल्ट_नोटिफिकेशन_चैनल_आईडी ="डिफ़ॉल्ट"; @Override संरक्षित शून्य onCreate (बंडल सेव किया गया इंस्टेंसस्टेट) {सुपर .onCreate(savedInstanceState); setContentView(R.layout. activity_main); } सार्वजनिक शून्य createNotification (देखें दृश्य) {आशय अधिसूचना इंटेंट =नया इरादा (getApplicationContext (), मुख्य गतिविधि। वर्ग); अधिसूचनाइन्टेंट.पुटएक्स्ट्रा ("सूचना से", सत्य); अधिसूचनाइन्टेंट.सेटफ्लैग्स (इरादा। FLAG_ACTIVITY_CLEAR_TOP | आशय। FLAG_ACTIVITY_SINGLE_TOP); पेंडिंग इंटेंट पेंडिंग इंटेंट =पेंडिंग इंटेंट। getActivity (यह, 0, अधिसूचना इंटेंट, 0); अधिसूचना प्रबंधक mNotificationManager =(अधिसूचना प्रबंधक) getSystemService (NotIFICATION_SERVICE) प्राप्त करें; अधिसूचना कॉम्पैट। बिल्डर एमबिल्डर =नया नोटिफिकेशन कॉम्पैट। बिल्डर (मेनएक्टिविटी। यह, डिफॉल्ट_नोटिफिकेशन_चैनल_आईडी); mBuilder.setContentTitle ("मेरी अधिसूचना"); mBuilder.setContentIntent (लंबित इंटेंट); mBuilder.setColor(getColor(R.color. colorPrimary)); mBuilder.setContentText ("अधिसूचना श्रोता सेवा उदाहरण"); mBuilder.setSmallIcon(R.drawable. ic_launcher_foreground); mBuilder.setAutoCancel (सच); अगर (android.os.Build.VERSION. SDK_INT>=android.os.Build.VERSION_CODES। O) {int महत्व =अधिसूचना प्रबंधक। महत्वपूर्ण:उच्च; अधिसूचना चैनल अधिसूचना चैनल =नया अधिसूचना चैनल ( NOTIFICATION_CHANNEL_ID, "NOTIFICATION_CHANNEL_NAME", महत्व); mBuilder.setChannelId ( NOTIFICATION_CHANNEL_ID ); मुखर mNotificationManager !=null; mNotificationManager.createNotificationChannel(notificationChannel); } मुखर mNotificationManager !=null; mNotificationManager.notify((int) System। currentTimeMillis (), mBuilder.build()); }}पूर्व>चरण 4 - निम्न कोड को src/CrashHandler में जोड़ें।
पैकेज app.tutorialspoint.com.notifyme;import android.app.NotificationManager;import android.content.Context;पब्लिक क्लास CrashHandler Thread.UncaughtExceptionHandler लागू करता है {निजी स्थैतिक अंतिम int NOTIFICATION_ID =12345; निजी थ्रेड। UncaughtExceptionHandler defaultUEH; निजी अधिसूचना प्रबंधक अधिसूचना प्रबंधक; सार्वजनिक क्रैशहैंडलर (संदर्भ संदर्भ) {यह। डिफ़ॉल्ट यूईएच =थ्रेड. getDefaultUncaughtExceptionHandler (); अधिसूचना प्रबंधक =(अधिसूचना प्रबंधक) संदर्भ। getSystemService (संदर्भ। NOTIFICATION_SERVICE); } सार्वजनिक शून्य अनकैप्ड एक्सेप्शन (थ्रेड टी, थ्रोएबल ई) {अगर (अधिसूचना प्रबंधक! =शून्य) {कोशिश करें {सूचना प्रबंधक। रद्द करें (सूचना_आईडी); } कैच (थ्रोबल एक्स) { एक्स.प्रिंटस्टैकट्रेस (); } } अधिसूचना प्रबंधक =शून्य; defaultUEH .uncaughtException(t , e); }}पूर्व>चरण 5 - AndroidManifest.xml में निम्न कोड जोड़ें
<पूर्व> xml संस्करण ="1.0" एन्कोडिंग ="utf-8" ?><प्रकट xmlns:android ="https://schemas.android.com/apk/res/android" पैकेज ="app.tutorialspoint.com.notifyme"> <उपयोग-अनुमति एंड्रॉइड:नाम ="android.permission.VIBRATE" /> <एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@mipmap/ic_launcher_round" android:supportRtl ="true" android:theme ="@style/AppTheme"> <गतिविधि android:name =".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई Android:नाम ="android.intent" .action.MAIN" /> <श्रेणी android :name ="android.intent.category.LAUNCHER" />