AlarmManager + BroadcastReceiver দিয়ে নির্ধারিত সময়ে নোটিফিকেশন
এই আর্টিকেলটি ১০০৬০৬১৫৫৬ এবং ১০০৬০৬১৫৫৭ নম্বর আর্টিকেলের সমান কোড ও কনসেপ্ট ব্যবহার করেছে। এখানে একই বাস্তবায়ন করা হয়েছে: মেনু থেকে ৫/১০/৩০ সেকেন্ড সিলেক্ট করে নোটিফিকেশন শিডিউল করা।
সারসংক্ষেপ
- MainActivity: মেনু হ্যান্ডল করে, `AlarmManager.setExact()` দিয়ে `BroadcastReceiver`-এ পেন্ডিং ইন্টেন্ট পাঠায়।
- MyNotificationPublisher (BroadcastReceiver): ব্রডকাস্ট পেলে নোটিফিকেশন বিল্ড করে দেখায়।
- Manifest: রিসিভার ডিক্লেয়ার, `VIBRATE` এবং `SCHEDULE_EXACT_ALARM` পারমিশন।
আধুনিক বেস্ট প্র্যাকটিস (WorkManager)
Android ১২+ এ একজেক্ট আলার্মের জন্য স্পেশাল পারমিশন লাগে। `WorkManager` ব্যবহার করলে পারমিশন লাগে না, Doze mode-এও কাজ করে, এবং ব্যাটারি-অপ্টিমাইজড।
// WorkManager ব্যবহার করে শিডিউলিং (সুপারিশ)
PeriodicWorkRequest periodicWork = new PeriodicWorkRequest.Builder(
NotificationWorker.class, 15, TimeUnit.MINUTES) // ন্যূনতম ১৫ মিনিট
.build();
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
"periodic_notification", ExistingPeriodicWorkPolicy.KEEP, periodicWork);
পরীক্ষা
অ্যাপ রান করুন → মেনু থেকে সময় বেছে নিন → নোটিফিকেশন আসবে।
