我们已经重写了 shell 应用程序的 OnBackButtonPressed 事件,因此 Android 设备后退按钮将使用自定义代码。目前我们只处理 Android 设备的后退按钮。我们有各种场景,我们想要根据发送后退按钮按下命令的页面的位置转到特定页面。这一切似乎都运行良好。
我面临的挑战是,在某些情况下,例如位于应用程序的第一页,我们希望标准后退按钮行为(即退出应用程序)生效。为了实现这一点,我尝试将以下代码放入重写的 OnBackButtonPressed 事件中。
protected override bool OnBackButtonPressed()
{
try
{
---- various other conditions here ---
if (currentPageType == typeof(CommissionPage))
{
var result = base.OnBackButtonPressed();
}
}
catch (Exception ex)
{
ExceptionExtension.TrackError(ex);
return false;
}
return true;
}
这样做的目的是触发默认的后退按钮行为。但是,当我点击此页面上的后退按钮时,它确实执行了base.OnBackButtonPressed,但应用程序并未退出。调用的结果返回 false,我相信这表明调用没有按预期处理,我不知道为什么。
我正在寻找一种从重写的 OnBackButtonPressed 代码到默认代码来处理后退按钮的方法。
任何想法将不胜感激。
如果你想触发默认行为只需调用默认方法:
return base.OnBackButtonPressed();