यह उदाहरण दिखाता है कि BroadcastReceiver के साथ Android सूचना कैसे बनाएं।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<पूर्व> xml संस्करण ="1.0" एन्कोडिंग ="utf-8"?>चरण 3 - निम्न कोड को res/menu/main_menu.xml में जोड़ें।
<पूर्व> xml संस्करण ="1.0" एन्कोडिंग ="utf-8" ?><मेनू xmlns:android ="https://schemas.android.com/apk/res/android" xmlns:ऐप ="https://schemas.android .com/apk/res-auto"> <आइटम एंड्रॉइड:आईडी ="@ + आईडी / एक्शन_5" ऐप:शोएएसएक्शन ="कभी नहीं" एंड्रॉइड:शीर्षक ="5 सेकंड" /> <आइटम एंड्रॉइड:आईडी ="@ + आईडी /action_10" ऐप:showAsAction ="कभी नहीं" एंड्रॉइड:शीर्षक ="10 सेकंड" /> मेनू>पूर्व>चरण 4 - निम्न कोड को src/MainActivity में जोड़ें।
पैकेज app.tutorialspoint.com.notifyme;import android.app.AlarmManager;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android. content.Intent; import android.os.Bundle; import android.os.SystemClock; import android.support.v4.app.NotificationCompat; import android.support.v7.app.AppCompatActivity; import android.view.Menu;import android. view.MenuItem; सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {सार्वजनिक स्थिर अंतिम स्ट्रिंग NOTIFICATION_CHANNEL_ID ="10001"; निजी अंतिम स्थिर स्ट्रिंग डिफ़ॉल्ट_नोटिफिकेशन_चैनल_आईडी ="डिफ़ॉल्ट"; @Override संरक्षित शून्य onCreate (बंडल सेव किया गया इंस्टेंसस्टेट) {सुपर .onCreate(savedInstanceState); setContentView(R.layout. activity_main); } @CreateOptionsMenu पर सार्वजनिक बूलियन को ओवरराइड करें (मेनू मेनू) {// मेनू को फुलाएं; यह मौजूद होने पर एक्शन बार में आइटम जोड़ता है। getMenuInflater ()। inflate (आर.मेनू। मेनू_मेन, मेनू); सच लौटना; } @Override सार्वजनिक बूलियन onOptionsItemSelected (MenuItem आइटम) {स्विच (item.getItemId ()) {केस R.id. action_5:शेड्यूल नोटिफिकेशन (getNotification ("5 सेकंड की देरी"), 5000); सच लौटना; मामला आर.आई.डी. action_10:शेड्यूल नोटिफिकेशन (getNotification ("10 सेकंड की देरी"), 10000); सच लौटना; मामला आर.आई.डी. action_30:शेड्यूल नोटिफिकेशन (गेट नोटिफिकेशन ("30 सेकंड की देरी"), 30000); सच लौटना; डिफ़ॉल्ट:सुपर .onOptionsItemSelected(item) लौटाएं; } } निजी शून्य अनुसूची अधिसूचना (अधिसूचना अधिसूचना, int देरी) {आशय अधिसूचना आशय =नया इरादा (यह, MyNotificationPublisher। वर्ग); अधिसूचनाइन्टेंट.पुटएक्स्ट्रा(MyNotificationPublisher. NOTIFICATION_ID, 1); अधिसूचनाइन्टेंट.पुटएक्स्ट्रा (MyNotificationPublisher। अधिसूचना, अधिसूचना); पेंडिंग इंटेंट पेंडिंग इंटेंट =पेंडिंग इंटेंट। getBroadcast (यह, 0, अधिसूचना इंटेंट, लंबित इंटेंट। FLAG_UPDATE_CURRENT); लंबा भविष्यइनमिलिस =SystemClock. बीता हुआ रीयलटाइम () + देरी; अलार्ममैनेजर अलार्ममैनेजर =(अलार्ममैनेजर) getSystemService (संदर्भ। ALARM_SERVICE); जोर अलार्म प्रबंधक! =शून्य; अलार्ममैनेजर.सेट (अलार्ममैनेजर। ELAPSED_REALTIME_WAKEUP, फ्यूचरइनमिलिस, लंबित इंटेंट); } निजी अधिसूचना getNotification (स्ट्रिंग सामग्री) { NotificationCompat.Builder Builder =new NotificationCompat.Builder (यह, default_notification_channel_id); Builder.setContentTitle ("अनुसूचित अधिसूचना"); Builder.setContentText (सामग्री); Builder.setSmallIcon(R.drawable. ic_launcher_foreground); बिल्डर.सेटऑटोकैंसल (सच); Builder.setChannelId ( NOTIFICATION_CHANNEL_ID ); वापसी निर्माता। निर्माण (); }}पूर्व>चरण 5 - निम्न कोड को src/MyNotificationPublisher में जोड़ें।
पैकेज app.tutorialspoint.com.notifyme;import android.app.Notification;import android.app.NotificationChannel;import android.app.NotificationManager;import android.content.BroadcastReceiver;import android.content.Context;import android. content.Intent; स्थिर app.tutorialspoint.com.notifyme.MainActivity आयात करें। NOTIFICATION_CHANNEL_ID;पब्लिक क्लास MyNotificationPublisher ब्रॉडकास्टरिसीवर का विस्तार करता है {सार्वजनिक स्थैतिक स्ट्रिंग NOTIFICATION_ID ="अधिसूचना-आईडी"; सार्वजनिक स्थैतिक स्ट्रिंग अधिसूचना ="अधिसूचना"; सार्वजनिक शून्य onReceive (संदर्भ संदर्भ, इरादा इरादा) {अधिसूचना प्रबंधक अधिसूचना प्रबंधक =(अधिसूचना प्रबंधक) संदर्भ। getSystemService (संदर्भ। NOTIFICATION_SERVICE); अधिसूचना अधिसूचना =आशय। getParcelableExtra (अधिसूचना); अगर (android.os.Build.VERSION। SDK_INT>=android.os.Build.VERSION_CODES। O) {int महत्व =अधिसूचना प्रबंधक। महत्वपूर्ण:उच्च; अधिसूचना चैनल अधिसूचना चैनल =नया अधिसूचना चैनल ( NOTIFICATION_CHANNEL_ID, "NOTIFICATION_CHANNEL_NAME", महत्व); जोर अधिसूचना प्रबंधक! =शून्य; अधिसूचना प्रबंधक। अधिसूचना चैनल बनाएं (अधिसूचना चैनल); } इंट आईडी =इंटेंट। getIntExtra ( NOTIFICATION_ID, 0); जोर अधिसूचना प्रबंधक! =शून्य; अधिसूचना प्रबंधक। सूचित करें (आईडी, अधिसूचना); }}पूर्व>चरण 6 - 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" />प्रकट>पूर्व> आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -