PendingIntent.getService() возвращает нольAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 PendingIntent.getService() возвращает ноль

Сообщение Anonymous »

Цитирование документации разработчиков Android

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

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);
}

должен иметь возможность получить pendingIntent, используя его requestCode, а затем отменить его. Однако, когда я пытаюсь получить его с помощью

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

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
);
Возвращенное значение pendingIntent оказывается нулевым, даже если я установил его с помощью

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

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);
}
}
почему оно оказывается нулевым? Разве не предполагается получать pendingIntent с помощью requestCode?
Я пытаюсь отменить сигнал тревоги с помощью requestCode PendingIntent, однако PendingIntent, возвращаемый PendingIntent.getService(), всегда оказывается null
Согласно этому вопросу, он не должен возвращать ноль

Подробнее здесь: https://stackoverflow.com/questions/787 ... rning-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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