質問: ### 実現したいこと Androidで、起動時及びリスタート時にパスワード画面を表示する処理を 作りたい ただし、回転(縦画面から横画面、又はその逆)させただけの時はパスワード画面は表示させない (回転&リスタートの場合は、リスタートなのでパスワードを表示させる) ### うまくいかない点 単にデバイスを回転させると、OnPauseやOnStopのあと、OnCreateが再度呼ばれ(savedInstanceState!=NULL)、リスタート時はOnCreateが呼び出されないので、そこを利用して判断するようにしたのですが、一旦アプリを停止(pause)した後、回転させた上でリスタートすると回転時と同様の流れになってしまい、パスワード画面にする事が出来ませんでした (回転とリスタートの区別は可能) 停止&回転&リスタートと回転のみをうまく区別する方法はないでしょうか ### 確認したライフサイクル <回転時(縦から横又はその逆> 回転操作 -> OnPause -> OnStop -> OnDestroy -> OnCreate(savedInstanceState!=NULL) -> OnStart -> OnResume <回転&リスタート時> 停止操作 -> OnPause -> OnStop 回転操作 リスタート操作 -> OnDestroy -> OnCreate(savedInstanceState!=NULL) -> OnStart -> OnResume <リスタート時> 停止操作 -> OnPause -> OnStop リスタート操作 -> OnRestart -> OnStart -> OnResume ### 補足 Visual Studio 2017 xamarin.Android、C# 使用 ターゲットはAndroid 5.1、Android 6、Android 7.0 使用
回答: とりあえず暫定対策にはなりますが、OnStopを検出時に時間を記録し、OnStart検出時に1秒以上経過していたら、回転&リスタートと判定するようにします。 回転だけなら1秒以内で動作するでしょうし、暫定対策にはなるかと思いましたので。 もっと良い方法があれば良いのですが。