完成等待结果的活动

时间:2017-03-30 21:00:02

标签: android android-activity

我正在开发登录系统,目前流程如下:

LoginActivity可以调用ExecuteLoginActivity来显示带有进度条的屏幕,同时通过AsyncTask连接到后端以验证用户并将结果返回给LoginActivity,然后LoginActivity可以调用MainActivity,或者LoginActivity可以调用SignUpActivity然后可以调用与ExecuteLoginActivity相同但执行注册的ExecuteSignUpActivity,然后将结果返回给SignUpActivity,SignUpActivity又将结果返回给LoginActivity,然后LoginActivity可以调用MainActivity。

这种方法的问题在于,在可以调用MainActivity之前,LoginScreen(有时是SignUpActivity)最终会“闪烁”给用户。我希望Execute活动在成功登录/注册后自己调用MainActivity,并返回Login / Signup活动以显示尝试失败时的错误。

我试图使用广播发送信号以完成登录/注册活动的成功登录,但我不知道是否可以在等待生成的执行活动的结果时完成它们。所以我的问题是,我可以完成一项等待另一项活动结果的活动吗?

2 个答案:

答案 0 :(得分:0)

在注册和登录活动中执行以下操作:

    Intent i = new Intent(this,MainActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
    finish();

答案 1 :(得分:0)

我的理论问题没有得到直接回答,但我找到了解决这个question答案中的pratictal问题的方法。

基本上,我所做的是调用startActivity()直接启动MainActivity,然后返回成功并完成各自OnActivityResult()方法的所有其他活动。