2013-04-23 22 views
0

我的应用程序开始于InitActivity,它检查登录状态,并在进入某些逻辑之前相应地调用LoginActivity我需要等到活动完成才能继续,但有时只有

我知道我可以使用startAcivityForResult()onActivityResult()确保做doSomeMainLogic()以前LoginActivity完成,但我if检查在它抛出的曲线。如果我这样做:

public class InitActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (!userIsLoggedIn) { 
      Intent intent = new Intent("com.example.myapp.LOGINACTIVITY"); 
      startActivityForResult(intent,1); 
     } 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == 1) { 
      if (resultCode == RESULT_OK) { 
       doSomeMainLogic(); 
      } 
     } 
    } 

} 

我怎么doSomeMainLogic()火,如果用户已经登录?

非常感谢。

回答

1
public class InitActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (!userIsLoggedIn) { 
      Intent intent = new Intent("com.example.myapp.LOGINACTIVITY"); 
      startActivityForResult(intent,1); 
     } 
     else { 
      doSomeMainLogic(); // this part is added 
     } 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == 1) { 
      if (resultCode == RESULT_OK) { 
       doSomeMainLogic(); 
      } 
     } 
    } 

} 
+0

谢谢。我希望能在两个不同的地方重复这个呼叫,但我想这是有效的。 – Steven 2013-04-23 21:44:40

相关问题