Я пытаюсь реализовать FireBase Pu sh уведомления нажмите в приложении xamarin.forms. Я могу получать уведомления, когда приложение находится на переднем плане, в фоновом режиме и закрыто.
Я хочу сделать следующее:
1.При нажатии на уведомление переднего плана Я хочу открыть желаемую страницу содержимого с существующей страницы. И когда я закрываю открытую страницу, мне нужно go страница в стеке (предыдущая страница, которая существовала).
2.Когда я нажимаю Уведомление о прекращении работы приложения, я хочу открыть нужную страницу содержимого, и когда мы закроем эту страницу, она должна перейти на начальную страницу приложения (потому что в состоянии остановки не будет страницы в стеке)
Что Я сделал
В уничтоженном состоянии я управляю намерением уведомления следующим образом в MainActivity:
if (Intent.Extras != null)
{
foreach (var key in Intent.Extras.KeySet())
{
if (key != null)
{
if(key== "user_notification_id")
{
var value = Intent.Extras.GetString(key);
LoadApplication(new App(true));
}
}
}
}
}
В основном состоянии я управляю намерением уведомления следующим образом.
protected override void OnNewIntent(Intent intent)
{
if (intent != null)
{
var message = intent.GetStringExtra("user_notification_id");
if (!string.IsNullOrEmpty(message))
{
Settings.NotificationID = message;
LoadApplication(new App(true));
}
}
base.OnNewIntent(intent);
}
App.xaml.cs (где навигация была управляемой)
public App(bool hasNotification = false)
{
InitializeComponent();
if (hasNotification)
{
var navPage = new NavigationPage(new LandingPage());
Application.Current.MainPage = navPage;
navPage.Navigation.PushModalAsync(new ChatPage("26"));
}
else
{
var splashPage = new NavigationPage(new SplashPage());
MainPage = splashPage;
}
}
Что происходит сейчас.
В уведомлении переднего плана нажмите, на странице чата (мой желаемый страница палатки) откроется. Но когда мы закроем страницу, она закроет все приложение, а не перейдет на предыдущую страницу.
При щелчке уведомления об отключенном состоянии он откроет страницу чата, но внезапно откроет ее и перейдет на целевую страницу.
Структура навигации на странице моего приложения.
SplashPage-->LoginPage--->Landing page-->Listpage---chatpage(My desired page)
Любая помощь приветствуется