/ /新しいインスタンスの読み込み中にXamarin.Formsアプリの現在のインスタンスを閉じる/終了する方法-xamarin、xamarin.android、xamarin.forms

新しいインスタンスの読み込み中にXamarin.Formsアプリの現在のインスタンスを閉じる/終了する方法-xamarin、xamarin.android、xamarin.forms

私たちは奇妙な問題に直面しています。既存のアプリケーションの設計上の欠陥かどうかはわかりません。あなたの助け/提案は大歓迎です。

Xamarin.formsアプリがあります。 iOSとAndroidの両方を対象としています。

問題は主にAndroidアプリで発生しています。

アプリケーションフロー

  • アプリケーションからログアウトすると、アプリはログアウトアクティビティを開き、ユーザー情報やその他のデータを削除します。
  • クライアントSSOの実装を含むログイン用の新しいアクティビティを開きます
  • ログインに成功すると、アプリはユーザー情報を設定し、Webサービスからデータを取得します。
  • 次に、LoadApplicationメソッドを呼び出して、フローがメインアプリケーションに戻るようにします。

これで、ユーザーがログアウト/ログインを数回実行すると、LoadApplicationメソッドを呼び出して新しいアプリケーションインスタンスを開き、ホーム画面を表示します。

したがって、ユーザーがホームページの戻るボタンをタップしているとき、アプリが閉じておらず、同じアプリケーションの以前のインスタンスが表示されます。 ユーザーは戻るボタンを数回押す必要があります(ユーザーがログアウト-ログインを実行する回数によって異なります)。

これを止める良い方法はありますか? LoadApplicationが呼び出される前に、アプリケーションの現在のインスタンスを閉じることはできますか?

長い間立ち往生。

回答:

回答№1は2

私は電話を避けようとします LoadApplication 何度も。ナビゲーションスタックを制御する必要があります。

LogoutPageを使用している場合

  • 経由ですべてのビューを削除 PopToRootAsync
  • 見せる LoginPage
await Navigation.PopToRootAsync(false);
await Navigation.PushAsync(new LoginPage(), true);

このブログ投稿は読む価値があるかもしれません: https://jfarrell.net/2015/01/22/understanding-xamarin-forms-navigation/


回答№2の場合は0

ぜひお試しください。

https://stackoverflow.com/a/36885388/1941942

[Activity (NoHistory = true)]
public class LoginActivity : Activity { }

MainActivityに実装した後、インスタンスの保存エラーがしばらく発生しました。