Код: Выделить всё
AlarmManager alarmManager =
(AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent =
PendingIntent.getService(context, requestId, intent,
PendingIntent.FLAG_NO_CREATE);
if (pendingIntent != null && alarmManager != null) {
alarmManager.cancel(pendingIntent);
}
Код: Выделить всё
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(MainActivity.this, AlarmBroadcastReciever.class);
PendingIntent pendingIntent = PendingIntent.getService(
MainActivity.this,
3000,
intent,
PendingIntent.FLAG_NO_CREATE | PendingIntent.FLAG_IMMUTABLE
);
Код: Выделить всё
private void scheduleExactAlarmBroadcast(Context ctx, Class BrdcstRcvr, int requestCode, int afterInMs) {
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(ctx, BrdcstRcvr);
PendingIntent pi = PendingIntent.getBroadcast(ctx, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && alarmManager.canScheduleExactAlarms()) {
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + afterInMs, pi);
}
}
Я пытаюсь отменить сигнал тревоги с помощью requestCode PendingIntent, однако PendingIntent, возвращаемый PendingIntent.getService(), всегда оказывается null
Согласно этому вопросу, он не должен возвращать ноль
Подробнее здесь: https://stackoverflow.com/questions/787 ... rning-null
Мобильная версия