Avatar ·

كيفية ضبط AlarmManager في Android لتنفيذ مهمة في وقت محدد حتى إذا كان التطبيق مغلقًا؟ مثال بلغة Kotlin

مرحبًا بالجميع! أنا مبتدئ في تطوير Android بلغة Kotlin ولا أستطيع فهم AlarmManager. أحتاج إلى أن يرسل التطبيق إشعارًا كل يوم في الساعة 9:00 صباحًا، حتى إذا كان مغلقًا تمامًا (تمت إزالته من قائمة التطبيقات الأخيرة). لقد كتبت هذا الكود، لكنه لا يعمل عندما يكون التطبيق مغلقًا: ```kotlin val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager val intent = Intent(this, MyReceiver::class.java) val pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT) val calendar = Calendar.getInstance().apply { set(Calendar.HOUR_OF_DAY, 9) set(Calendar.MINUTE, 0) set(Calendar.SECOND, 0) } alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, AlarmManager.INTERVAL_DAY, pendingIntent) ``` BroadcastReceiver مسجل في المانيفست: ```xml ``` المشكلة هي أنه على Android 8+ (API 26+) لا تصل الإشعارات.