0

在我的程序中,我有一个在导航到页面时执行的异步任务。问题是,当我离开该任务(使用手机的硬件后退按钮)时,任务尚未完成,应用程序崩溃。所以我的问题是,我怎样才能暂时禁用后退按钮。这样我就可以在异步任务完成时重新启用它?

谢谢,

巴特·特尼森

4

1 回答 1

4

在我看来,我认为您应该在尽可能多的情况下尝试启用后退按钮,因为有一个后退按钮,因为您应该能够后退(有意义)。但是,如果您想知道如何做到这一点,这里有一种方法:您可以初始化 OnBackKeyPress 方法并使用布尔值来定义异步任务是否已完成。定义变量 BusyWithAsync 并在异步任务启动时将其设置为 true,一旦完成,只需将 BusyWithAsync 变量设置为 false,您就可以开始了。

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    if (BusyWithAsync)
    {
        e.Cancel = true;
    }
}
于 2012-06-09T00:53:17.123 回答