我有推送通知工作得很好。在Android上,当用户点击通知并启动应用程序时,我可以导航到所需的页面。我不知道如何在iOS上做同样的事情。我相信这是非常标准的,但找不到任何文档。这是一个Shell App。我看到一些导航页面的例子,我已经尝试过,等价的似乎不起作用。见下文
我尝试过的事情:
1.在Android上,当应用程序启动时,它会在MainActivity中重新运行OnCreate
,因此我可以将相关信息传递给应用程序并根据需要进行导航。在IOS上,当应用程序从正在单击的通知中弹出时,FinishedLaunching
永远不会被调用,因此这不是一个选项。
1.在通知处理程序DidReceiveRemoteNotification
中,我尝试运行Shell.Current.GoToAsync($"{nameof(EventsPage)}");
,这似乎没有效果。
1.我试过留言中心。所以在我的通知处理程序MessagingCenter.Send<object>(this, "Hi");
中。然后在
public App()
{
InitializeComponent();
MainPage = new AppShell();
MessagingCenter.Subscribe<object>(this, "Hi", (obj) =>
{
Shell.Current.GoToAsync($"{nameof(EventsPage)}");
});
}
字符串
这样可以正常触发,GoToAsync也会触发,但没有任何效果。
1.我尝试将订阅移动到AppShell构造函数的末尾。但它从来没有在那里开火。
有人能给我举个例子吗?当用户在Xamarin IOS中单击后台通知时,通常如何导航到shell页面?或者告诉我我做错了什么?谢谢你!
1条答案
按热度按时间ui7jx7zq1#
对于IOS,您需要指定一个新的选项卡或堆栈或“//”所指的任何内容。$"//{nameof(EventsPage)}”);
字符串