当我的Xamarin.Forms(PCL)应用程序关闭时,如何运行代码? (类似于Windows'Application.ApplicationExit
事件。)
在退出应用程序之前需要执行某些操作,并且应用程序可能会被用户或需要资源的设备终止。
答案 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");
}