Удаленное уведомление Android воссоздает активность (Xamarin C#)

Я использую Firebase для создания удаленного уведомления для моего приложения.

Моя цепочка действий выглядит следующим образом

Всплывающее действие (Launchmode SingleTask, NoHistory = True)

звонки

Активность при входе в систему (стандарт запуска (по умолчанию), NoHistory = True)

звонки

Основная активность (Launchmode SingleTask, NoHistory = False)

Если я помещаю свое приложение в фоновом режиме (основное действие приостановлено) и перезапускаю его с рабочего стола, в основном действии запускается событие Resume, и все в порядке.

Однако, если я помещаю приложение в фоновом режиме (основное действие приостановлено) и выбираю уведомление для приложения из списка уведомлений на рабочем столе, запускается метод создания активности Splash.

Как я могу сделать поведение для запуска уведомлений таким же, как при выходе из фона. Я не хочу, чтобы пользователь входил в систему каждый раз, когда нажимал на уведомление.

Спасибо

1 ответ

как передать намерение в действие, которое возобновляется, а не создается?

Вы должны реализовать OnNewIntent(намерение намерения) в вашем MainActivity, Затем вы можете использовать это для установки "текущего" намерения в качестве нового намерения.

protected override void OnNewIntent(Intent intent)
{
    if (intent != null)
        Intent = intent;
    base.OnNewIntent(intent);
}

Затем в OnResume() Вы можете использовать намерение для восстановления данных вашего уведомления.

Intent intent = Intent;
Другие вопросы по тегам