public RootPageAndroid(IDevice device) { this.device = device; pages = new Dictionary<int, EvolveNavigationPage>(); Master = new MenuPage(this); pages.Add(0, new EvolveNavigationPage(new FeedPage(device))); Detail = pages[0]; MessagingService.Current.Subscribe<DeepLinkPage>("DeepLinkPage", async (m, p) => { page = p; if(isRunning) await GoToDeepLink(); }); }
async Task GoToDeepLink() { if (page == null) return; var p = page.Page; var id = page.Id; page = null; switch(p) { case AppPage.Session: await NavigateAsync((int)AppPage.Sessions); var session = await DependencyService.Get<ISessionStore>().GetAppIndexSession(id); if (session == null) break; await Detail.Navigation.PushAsync(new SessionDetailsPage(session, device)); break; } }