onCreate()中的startActivity

时间:2014-02-04 12:41:38

标签: android android-activity

我需要在另一个Activity的onCreate中启动Activity并等到activity2完成。怎么做?

public class Activity1 extends Activity{
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        //do some code
        startActivity(Activity2)
        //wait until activity2 finish
        //another code which can be done after activity2 finish
    }
 ...
 }

或者我需要在OnActivityResult中执行another code async way ??

5 个答案:

答案 0 :(得分:2)

你可以使用startActivtyForResult方法启动activty2然后当activty1的onActivityResult调用第一个调用setContentView时

答案 1 :(得分:2)

你应该这样试试......

public class FirstActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent i = new Intent(SecondActivity.this, getApplicationContext());

        int requestCode = 0;
        startActivityForResult(i,requestCode);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

       // do your stuff here after SecondActivity finished.
    }
}

希望这会对你有所帮助。

答案 2 :(得分:1)

您可以使用startActivityForResult然后在OnActivityResult

中捕获结果

Doc

答案 3 :(得分:1)

您应该使用startActivityForResult(intent, requestCode);

答案 4 :(得分:0)

您可以像startActivityForResult(intent,requestCode)一样启动activity2。

在finsh activity2上执行onActivityResult(int arg0,int arg1,Intent arg2)中的任何操作。