检测应用关闭

时间:2017-12-20 19:33:13

标签: c# xamarin xamarin.forms

当我的Xamarin.Forms(PCL)应用程序关闭时,如何运行代码? (类似于Windows'Application.ApplicationExit事件。)

在退出应用程序之前需要执行某些操作,并且应用程序可能会被用户或需要资源的设备终止。

2 个答案:

答案 0 :(得分:4)

来自Xamarin.Forms lifecycle documentation

  

请注意,没有应用程序终止的方法。正常情况下   情况(即不是崩溃)应用程序终止将发生   来自OnSleep状态,没有任何其他通知   代码。

在你App.xaml.cs中,你会发现OnSleep方法挂钩到每个平台上的相应等效方法。

protected override void OnSleep()
{
    // TODO write code when your app goes to bed
}

但是无法保证在应用程序真正关闭的所有场景中都会调用此方法。所以,如果可能的话,你应该找到另一种选择。

答案 1 :(得分:2)

在移动应用程序上,当进程终止时,无法检测到真正的应用程序退出,您可以检测到应用程序何时进入后台(即使检测到应用程序滑动进入后台,也只有#34;强制关闭"没有被困。)

要检测背景状态,您可以覆盖OnSleep上的Application功能:

protected override void OnSleep()
{
    Debug.WriteLine ("OnSleep");
}