Xamarin.Forms(PCL)アプリが終了しているときにコードを実行するにはどうすればよいですか? (WindowsのApplication.ApplicationExit
イベントに似ています)アプリの終了を検出する
アプリケーションが終了する前に実行する必要があるアクションがあり、アプリケーションがユーザーまたはリソースを必要とするデバイスによって終了される可能性があります。
Xamarin.Forms(PCL)アプリが終了しているときにコードを実行するにはどうすればよいですか? (WindowsのApplication.ApplicationExit
イベントに似ています)アプリの終了を検出する
アプリケーションが終了する前に実行する必要があるアクションがあり、アプリケーションがユーザーまたはリソースを必要とするデバイスによって終了される可能性があります。
::アプリケーションの終了方法はありません
注こと
はあなたのApplication
にOnSleep
機能を無効にすることができ、バックグラウンド状態を検出します。通常 の状況(クラッシュではない)では、 コードへの追加の通知なしで、アプリケーションの終了がOnSleep状態の から発生します。あなたが各プラットフォーム上の各同等にフックOnSleep
方法を見つけるだろうApp.xaml.cs
あなたに
。
protected override void OnSleep()
{
// TODO write code when your app goes to bed
}
しかし、実際にアプリケーションが閉じられているすべてのシナリオでこれが呼び出されるという保証はありません。したがって、可能であれば、おそらく代替手段を見つけるべきです。
モバイルアプリケーションでは、プロセスが終了するとアプリケーションの終了が検出されず、アプリケーションがバックグラウンドになると検出されます(アプリケーションスワイプがバックグラウンドとして検出されても「強制終了」のみがトラップされません)。 Xamarin.Forms lifecycle documentationから
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
ありがとうございました。 (まだ受け入れられません、わずか7分です) – ispiro
ユーザが実行中のアプリケーションのリストからアプリケーションを閉じるためにXをタップしたときに 'onSleep'が発生するかどうか知りませんか? (またはiOS上でスワイプする) – ispiro
引用文に記載されているように、通常の状況下では 'OnSleep'を発生させる必要があります。だから、あなたのコードで何が起こっているかを見るために、デバッグ出力を追加することで、これを調べるのは面倒なことかもしれません。 –