ログインとログアウト機能を備えた私のアプリケーションのために、以下のナビゲーションを実装しました。 ハードウェアの[戻る]ボタンをブロックして再度ログインする方法。下記の流れである:ハードウェアをブロックする方法戻るボタンと再ログイン
1)ログインページがメインページでは、時にアプリケーションの起動
メインページ=新しいログイン();
2)が正常にログインした後、ユーザーは、メインメニューページ
NavigationPage NP =新しいNavigationPage(新メインメニュー())にナビゲートします。
App.current.MainPage = Np;メインメニューで
:
1)私は、iOSとAndroidの(しかし、iOS用のハードウェアボタンを無効にする方法は、現在のiPadとiPhone)には戻るボタンを持っていません。
This is what I got so far to stop back button.
protected override bool OnBackButtonPressed()
{
base.OnBackButtonPressed();
return false
}
1a)デバイスがiOSとAndroid搭載端末であるかどうかを検出するにはどうすればよいですか? iOSには戻るボタンがないので、onBackButtonPressed()が適用されますか?
1b)base.OnBackButtonPressed()の前または後にfalseを返すかどうかを確認します。
2初めに)ユーザのログアウト
:ログイン - >のMainMenu:メインメニューページで、ユーザクリックログアウトボタン
void LogoutButton()
{
Navigate.PopModalAsync(new Login());
}
これが初めてのログイン以来、すべての問題が発生します、メインページは、App.current.MainPage = Npです。
メインページ===とは何ですか?ユーザーが[ログアウト]ボタンをクリックすると
再度ログインするとどうなりますか?どのナビゲーション方法を使用してログインページに戻る必要がありますか?
おかげ
10Qとご協力いただきありがとうございます。ケース(1):Login - > Successful、goto - > MainMenu(Btnコードを停止していない状態で)、ユーザーが戻るボタンを押すと、ログインページに移動します。これは正常ですか?ログインすると、NavigationPage NP = new NavigationPage(new MainMenu())、mainPage = NPを使用します。だからユーザーが戻るボタンをクリックすると、最後のページをポップアウトするためにどのスタックを使用するか分からない。これは正しいです? – MilkBottle
はい、これは予想される動作です。アプリに戻る他に何もないときは、代わりに閉じます。ログインが成功すると、新しいナビゲーションスタックが作成されます。これは、あなたが押したすべてのページが戻るボタンを使用してポップできることを意味します。しかし、MainMenuページに移動すると、それ以上ポップすることができないので、アプリはおそらく閉じるでしょう。 –
助けがあればこれを回答として記入してください。 –