2013-04-23 4 views
0

내 응용 프로그램이 로그인 상태를 확인하는 InitActivity으로 시작하고 일부 논리로 진행하기 전에 그에 따라 LoginActivity을 호출합니다.진행하기 전에 작업이 완료 될 때까지 기다릴 필요가 있지만 가끔만

은 내가 doSomeMainLogic()을하기 전에 LoginActivity 완료를 보장하기 위해 startAcivityForResult()onActivityResult()을 사용할 수 있습니다 알고 있지만, 내 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

관련 문제