Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android一次性登录系统_Android_Android Intent_Start Activity - Fatal编程技术网

android一次性登录系统

android一次性登录系统,android,android-intent,start-activity,Android,Android Intent,Start Activity,我正在尝试设计一个一次性登录系统 在loginActivity上,用户输入一个电话号码,我通过SMS向其发送密码 在确认活动中,用户输入密码 如果密码成功,我想完成确认活动和登录活动。要从loginActivity做到这一点,我是这样做的 Intent intent = new Intent(this, ConfirmationActivity.class); startActivityForResult(intent, EXIT_CODE); 然后,在loginActivity中,我再次

我正在尝试设计一个一次性登录系统

  • 在loginActivity上,用户输入一个电话号码,我通过SMS向其发送密码

  • 在确认活动中,用户输入密码

如果密码成功,我想完成确认活动和登录活动。要从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(注意它跳过了确认活动)

我希望,一旦用户成功注册,他们就再也不能访问确认活动或登录活动。当他们关闭并重新启动我的应用程序时,它会跳过这两个页面,直接将用户带到主页

注意:看起来从未调用过onActivityResult方法。我在那里打了几个println电话,但它们从未在LogCat上打印过


免责声明:上次我问了一个问题并展示了一个代码片段,一位受访者分心了,开始谈论这个片段,而不是回答问题。这里的代码片段只是为了展示我所做的尝试。显然,这并没有解决问题。谢谢。

一个可能的解决方案是:

您没有使用LoginActivity打开应用程序,而是创建了一个名为FirstActivity的新应用程序

在此活动中,您将检查是否在SharedReferences中设置了标志

  • 如果此检查为真,则继续您的登录活动

  • 如果此检查返回false start LoginActivity。用户成功输入“机密”后,应在SharedReferences中设置一个标志。下次用户打开应用程序时,SharedReferences中的标志将设置为a,您将知道该用户已注册


  • 有问题吗?下面的评论

    谢谢。我曾想过这样做,但仍然存在一个问题,即在用户完成注册时(通过单击“上一步”按钮),阻止用户返回LoginActivity+1解决方案:禁用backbutton(非常糟糕的解决方案),重写onbackpressed函数并相应地执行操作,或管理活动堆栈,例如,在您的意图中添加标志“活动”或“否历史记录”,或在清单中声明“否历史记录”=true