ワンタイムログインシステムを設計しようとしています。
loginActivity で、ユーザーは電話番号を入力し、SMS でシークレット コードを送信します。
ConfirmationActivity で、ユーザーは秘密コードを入力します。
シークレットコードが成功したら、finish
confirmationActivity と loginActivity の両方を実行したいです。loginActivity からそれを行うには
Intent intent = new Intent(this, ConfirmationActivity.class);
startActivityForResult(intent, EXIT_CODE);
次に、 loginActivity でもう一度呼び出します
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == EXIT_CODE) {
finish();
}
}
}
システムが機能するかどうかをテストするために、登録後に [戻る] ボタンをクリックします。
予想される動作: アプリに戻ったり閉じたりできない
実際の動作: loginActivity に戻ります (confirmationActivity をスキップすることに注意してください)
ユーザーが登録に成功すると、confirmationActivity または loginActivity に二度とアクセスできないようになることを願っています。そして、アプリを閉じて再起動すると、それらの 2 つのページがスキップされ、ユーザーは直接ホームページに移動します。
注:onActivityResult
メソッドが呼び出されないようです。そこにいくつかのprintln呼び出しを配置しましたが、LogCatに出力されることはありません。
免責事項: 前回、質問をしてコード スニペットを見せたとき、ある回答者が気を散らして、質問に答える代わりにスニペットについて話し始めました。ここのスニペットは、私が試したことを示すためのものです。明らかに、それは問題を解決していません。ありがとうございました。