Мое приложение имеет один вид деятельности и один сервис. Служба запускает уведомление на переднем плане, содержащее кнопку действия, которая в некоторых ситуациях должна указывать действиям что-то делать, кроме того, что они возвращаются вперед. Он использует дополнительные функции, чтобы указать это.
Мои проблемы в том, что я не могу найти документацию о том, как получить явные намерения, кроме как через "связку", переданную в onCreate()
, который обычно не вызывается потому что действие уже может быть создано.
Как вы получаете намерение после onCreate ()?
Фрагмент кода уведомления:
val actionIntent = Intent(this, MainActivity::class.java)
actionIntent.action = actionText
actionIntent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP
val pendingActionIntent: PendingIntent = PendingIntent.getActivity(this, 0, actionIntent, 0)
val actionCancel: NotificationCompat.Action = NotificationCompat.Action.Builder(R.drawable.ic_cancel_black_24dp,
actionText,
pendingActionIntent).build()
val notificationBuilder: NotificationCompat.Builder = NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
.setContentTitle(getText(R.string.notification_title))
.setSmallIcon(R.drawable.ic_logo_24dp)
.setContentIntent(pendingIntent)
.setOnlyAlertOnce(true)
.addAction(actionCancel)
.setContentText(text)
startForeground(ONGOING_NOTIFICATION_ID, notificationBuilder.build())