アクティビティがonPause状態になるたびにログイン画面が表示されるアプリケーションがあります。一般的に、画面の向きが変わると、アクティビティはonPause状態になるので、デバイスを回転させたときにログイン画面が表示されないようにしました。以下のコードを参照してください。
protected void onPause() {
super.onPause();
WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
mDisplay = mWindowManager.getDefaultDisplay();
mOrientation = mDisplay.getRotation();
if(mOrientation == 1 || mOrientation == 2 || mOrientation == 3 || mOrientation == 0)
{
inApp = true;
}
if (!inApp) {
SavedState.setState(this, "HomeActivity");
Intent intent = new Intent(HomeActivity.this, LoginActivity.class);
startActivity(intent);
}
}
mDisplay.getRotation()
しかし、問題は、ホームボタンを押してアプリケーションに戻ったときに、ログイン画面が表示されないことです。代わりに、画面の現在の向きとif
状態が常にtrueになるため、ログイン画面が直接アクティビティに戻ります。
わかりやすくするために、ユーザーがホームボタンを押すか、他のアプリケーションに切り替えたときにログイン画面が表示される必要がありますが、画面が回転したときは表示されません。
どんな種類の提案や例でも大歓迎です。ありがとう !