यह उदाहरण दर्शाता है कि Android में किसी निश्चित दिनांक और समय पर सक्रिय होने के लिए Android में अलर्ट कैसे करें।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ें <पूर्व>पैकेज app.com.sample;import androidx.appcompat.app.AppCompatActivity;import androidx.fragment.app.DialogFragment;import android.app.AlarmManager;import android.app.PendingIntent;import android.app.TimePickerDialog;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.widget.TimePicker;import java.text.DateFormat;import java.util.Calendar;import java.util.Objects;public class MainActivity AppCompatActivity लागू करती है TimePickerDialog.OnTimeSetListener {स्ट्रिंग टाइमटेक्स्ट; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); डायलॉगफ्रैगमेंट टाइमपिकर =नया टाइमपिकरफ्रैगमेंट (); timePicker.show (getSupportFragmentManager (), "टाइम पिकर"); } @ टाइमसेट पर सार्वजनिक शून्य को ओवरराइड करें (टाइमपिकर व्यू, इंट ऑवरऑफडे, इंट मिनट) {कैलेंडर सी =कैलेंडर.गेट इंस्टेंस (); सी.सेट (कैलेंडर.HOUR_OF_DAY, घंटाऑफ़डे); सी.सेट (कैलेंडर.मिनट, मिनट); सी.सेट (कैलेंडर.सेकंड, 0); अपडेटटाइमटेक्स्ट (सी); स्टार्ट अलार्म (सी); } निजी शून्य अद्यतन टाइमटेक्स्ट (कैलेंडर सी) {timeText ="अलार्म सेट के लिए:"; टाइमटेक्स्ट + =डेटफॉर्मैट। गेटटाइम इंस्टेंस (डेटफॉर्मैट। शॉर्ट)। फॉर्मेट (सी.गेटटाइम ()); } निजी शून्य प्रारंभ अलार्म (कैलेंडर सी) {AlarmManager अलार्म प्रबंधक =(अलार्म प्रबंधक) getSystemService (संदर्भ.ALARM_SERVICE); इरादा इरादा =नया इरादा (यह, अधिसूचना प्रकाशक। वर्ग); पेंडिंग इंटेंट पेंडिंग इंटेंट =पेंडिंग इंटेंट। गेटब्रॉडकास्ट (यह, 1, इंटेंट, 0); अगर (c.before(Calendar.getInstance())) { c.add(Calendar.DATE, 1); } Objects.requireNonNull(alarmManager).setExact(AlarmManager.RTC_WAKEUP, c.getTimeInMillis (), लंबित इंटेंट); }}पूर्व>चरण 4 - एक नया वर्ग अधिसूचना प्रकाशक बनाएं और निम्नलिखित कोड जोड़ें
<पूर्व>पैकेज app.com.sample;import android.app.Notification;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import androidx.core.app.NotificationCompat;पब्लिक क्लास नोटिफिकेशन पब्लिशर ब्रॉडकास्ट रिसीवर बढ़ाता है {@ओवरराइड पब्लिक वॉयड ऑन रिसीव (संदर्भ संदर्भ, इरादा इरादा) {अधिसूचना हेल्पर अधिसूचना हेल्पर =नई अधिसूचना हेल्पर (संदर्भ); अधिसूचना कॉम्पैट.बिल्डर नायब =अधिसूचना हेल्पर.getChannelNotification (); अधिसूचना हेल्पर.गेटमैनेजर ()। सूचित करें (1, नायब.बिल्ड ()); अधिसूचना अधिसूचना =nb.build (); अधिसूचना। चूक |=अधिसूचना।DEFAULT_VIBRATE; अधिसूचना.डिफ़ॉल्ट |=अधिसूचना।DEFAULT_SOUND; }}पूर्व>चरण 5 − एक नया वर्ग NotificaitonHelper बनाएं और निम्न कोड जोड़ें
<पूर्व>पैकेज app.com.sample;import android.annotation.TargetApi;import android.app.NotificationChannel;import android.app.NotificationManager;import android.content.Context;import android.content.ContextWrapper;import android.os. बिल्ड; इंपोर्ट androidx.core.app.NotificationCompat; क्लास नोटिफिकेशन हेल्पर ContextWrapper का विस्तार करता है {सार्वजनिक स्थिर अंतिम स्ट्रिंग channelID ="चैनलआईडी"; सार्वजनिक स्थैतिक अंतिम स्ट्रिंग channelName ="चैनल का नाम"; निजी अधिसूचना प्रबंधक अधिसूचना प्रबंधक; सार्वजनिक अधिसूचना हेल्पर (संदर्भ आधार) {सुपर (आधार); अगर (बिल्ड.VERSION.SDK_INT>=Build.VERSION_CODES.O) { createChannel (); } } @TargetApi(Build.VERSION_CODES.O) निजी शून्य createChannel() { अधिसूचना चैनल चैनल =नया अधिसूचना चैनल (चैनल आईडी, चैनल नाम, अधिसूचना प्रबंधक.IMPORTANCE_HIGH); getManager ()। createNotificationChannel (चैनल); } सार्वजनिक अधिसूचना प्रबंधक getManager() { अगर (अधिसूचना प्रबंधक ==शून्य) { अधिसूचना प्रबंधक =(अधिसूचना प्रबंधक) getSystemService (संदर्भ.NOTIFICATION_SERVICE); } वापसी सूचना प्रबंधक; } सार्वजनिक अधिसूचना कॉम्पैट.बिल्डर getChannelNotification() { नया नोटिफिकेशन कॉम्पैट लौटाएं। } }पूर्व>चरण 6 - एक नया वर्ग TimePickerFragment बनाएं और निम्न कोड जोड़ें
<पूर्व>पैकेज app.com.sample;import android.app.Dialog;import android.app.TimePickerDialog;import android.os.Bundle;import android.text.format.DateFormat;import java.util.Calendar;import androidx. एनोटेशन.NonNull;आयात androidx.fragment.app.DialogFragment;पब्लिक क्लास TimePickerFragment DialogFragment को बढ़ाता है {@NonNull @Override public Dialog onCreateDialog(Bundle saveInstanceState) {कैलेंडर c =Calendar.getInstance(); int घंटा =c.get (कैलेंडर.HOUR_OF_DAY); इंट मिनट =c.get (कैलेंडर.मिन्यूट); नया TimePickerDialog (getActivity (), (TimePickerDialog.OnTimeSetListener) getActivity (), घंटा, मिनट, DateFormat.is24HourFormat (getActivity ())); }}पूर्व>चरण 7 - निम्नलिखित कोड को androidManifest.xml में जोड़ें
<एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप / आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्ट आरटीएल ="सच" एंड्रॉइड :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" />
आइए आपके एप्लिकेशन को चलाने का प्रयास करते हैं। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फाइलों में से एक को खोलें और रन पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -