0

アプリの起動時に開始される主なアクティビティは、一連のメニュー アイテムと共に表示されますが、一部のメニュー アイテムによって起動される一部のアクティビティへのアクセスには、ユーザー名とパスワードが必要です。ユーザーが資格情報を正しく入力すると、それらのアクティビティにアクセスできるようになります。また、戻るボタンを使用して、メニューが配置されているメイン アクティビティに戻ることもできます。アプリ内にとどまっている限り、資格情報を再入力する必要はありません。

ただし、メイン アクティビティ中に [戻る] ボタンが押された場合は、finish(); でアプリを終了します。

私が見ている問題は、ユーザーがホームボタンを押したままにすると、アプリのリストが表示され、アプリをタップすると、ユーザー名とパスワード。これは、ユーザーがこれらのアクティビティのいずれかを使用していて、ホーム ボタンを押した場合に発生する可能性があります。

私が思いついた解決策は、サインインしていることを示すグローバル変数を使用し、メイン アクティビティ内から [戻る] ボタンを押したときにこれをクリアすることです。

ただし、すべてのアクティビティの onResume でこのフラグをチェックして、サインインしているかどうかを確認する必要があります。サインインしていない場合は、onResume で finish() を実行して、アクティビティにアクセスできないようにします。

これを行うより良い方法はありますか?おそらく、ユーザーが「保護された」アクティビティに入ったときに生成されるすべてのアクティビティを終了する方法でしょうか? それとも、アプリ内のすべてのアクティビティを終了しますか? 現状では、私には多くのアクティビティがあり、onResume でコードを繰り返すのは無意味に思えます。

4

0 に答える 0