一般的なシナリオ:
xamarin を使用して Android アプリケーションを開発しているときに、アプリケーションを複数回クラッシュさせる傾向がありますが、この動作はまったく問題なく正常です。
しかし、しばらくすると、1 番目のアクティビティから 2 番目のアクティビティに移動します。2 番目のアクティビティでアプリケーションがクラッシュした場合、次の実行時にアプリケーションは 2 番目のアクティビティから開始しますが、最初のアクティビティから開始する必要があります。最初のアクティビティに注意してください: mainLauncher プロパティが TRUE に設定されています。
応用 :
1 st Activity = Splash Screen;
2 nd Activity = Login Screen; [sets a global appication variable User ID]
3 rd Activity = User Profile [fetch data from database using User ID];
4 th Activity = preference page, settings which saves username n password from login form.
================================================== ============================
問題 :
アプリケーションの実行中、フローは指定されたアクティビティに従って進む必要があります。ログインページに正しい資格情報を入力すると、(int)UserIDが保存されます。この UserID を使用して、ユーザーの詳細を取得し、3 番目のアクティビティに表示します。
ただし、アプリケーションが 3 番目のアクティビティでクラッシュし、アプリケーションを再起動すると、スプラッシュ画面からではなく、クラッシュしたアクティビティ ( 3 番目のアクティビティ) または前のアクティビティ ( 3 番目のアクティビティの呼び出し元) から開始される場合があります。 LoginForm ) アクティビティが呼び出された場所から。
今問題は、LoginPage を受信したことがないため、ログインの詳細を入力しなかったため、(int)UserIDが0/NULLに設定されているため、データベースからデータがフェッチされないことです。3 番目のアクティビティ (プロファイル アクティビティ) のすべてのフィールドを空白として表示する
私の取り扱いソリューション:
これを処理するには、OnResume()をオーバーライドしてUserIDをチェックします。つまり、userID が 0の場合はLoginScreenをロードします。これは完全に正常に機能します。
しかし、プロセスIDを強制終了して手動でアプリケーションを終了すると、プロファイル画面が残り、OnResume();を呼び出します。また。ログアウトしたので、ログイン画面を再度読み込みます....
これはループで続きます。現在、を強制終了してアプリケーションを終了できません。processID
この問題の解決策を見つけるのを手伝ってください
非常に長い質問で申し訳ありませんが、これ以上説明する方法が見つかりませんでした。友達が気にしないことを願っています。