2013-04-23 21 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

相關問題