后退按钮在导航后关闭app但不是之前

时间:2016-08-30 18:56:13

标签: android xamarin xamarin.forms prism

我有一个xamarin表格/棱镜应用程序,我的硬件后退按钮在初始页面上什么也没做。

如果我导航到另一个页面,它会按预期关闭应用程序。如果我再次导航到初始页面,它也会关闭应用程序 - 但如果应用程序刚刚启动则不会。

我有什么遗失的吗?

我的class App主要有一个导航到初始页面的OnInitialized

protected override void OnInitialized()
{
    NavigationService.NavigateAsync( "MyMasterDetail/MyNavigationPage/StartPage", animated: false );
}

MyMasterDetail上,有一些按钮可以导航到MyNavigationPage/SettingsPage以及其他类似的页面。

如果我在真实设备上使用Android 5在模拟器或Android 6中无关紧要,行为是一样的。

1 个答案:

答案 0 :(得分:0)

当使用MasterDetail作为根时,您实际上并未在其他任何地方导航。您只是将MasterDetail的Detail属性更改为另一个页面。这不是导航操作。所以你不是真的在航行。如果要伪造它,则需要将INavigationPageOptions添加到MyNavigationPage并将ClearNavigationStackOnNavigation属性设置为false。这将持续将新页面推送到MasterDetailPage.Detail MyNavigationPage而不清除堆栈(PopToRoot)。然后,这将允许你的bac按钮表现得像你想要的那样。