OnRecieve() из BroadCastReceiver не вызывается - только для Android 13 (API 33) ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
OnRecieve() из BroadCastReceiver не вызывается - только для Android 13 (API 33)

Сообщение Anonymous »

onReceive() вызывается всеми другими уровнями API, но по какой-то причине не вызывается API 33.
Насколько я понимаю, для API 31 требуется разрешение SCHEDULE_EXACT_ALARM и автоматически разрешено, однако после API 33 больше не устанавливается автоматически как true.
Однако, начиная с API 33, доступно USE_ALARM, которое разрешено при установке, а SCHEDULE_EXACT_ALARM нет. в этом случае больше не требуется.
мои разрешения: менеджер тревог:

Код: Выделить всё

fun schedule(context: Context) {
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
val intent = Intent(context, AlarmReceiver::class.java)
intent.putExtra("once", once)
intent.putExtra("vibrate", vibrate)
intent.putExtra("shake", shake)
intent.putExtra("snooze", snooze)
val alarmPendingIntent = PendingIntent.getBroadcast(
context,
alarmId, intent,
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
)
val calendar: Calendar = Calendar.getInstance()
calendar.timeInMillis = System.currentTimeMillis()
calendar.set(Calendar.HOUR_OF_DAY, hour)
calendar.set(Calendar.MINUTE, minute)

//if alarm time has already passed, increment day by 1
if (calendar.timeInMillis 

Подробнее здесь: [url]https://stackoverflow.com/questions/76190824/onrecieve-from-broadcastreceiver-not-being-called-android-13-api-33-only[/url]

Вернуться в «Android»