怎的让一个activity运行结束以后再运行另一个activity

怎样让一个activity运行结束以后再运行另一个activityMainActivity的代码:public void onCreate(Bundle sa

怎样让一个activity运行结束以后再运行另一个activity
MainActivity的代码:

  public void onCreate(Bundle savedInstanceState) {  
   
   
  // 更新数据
  Intent i1 = new Intent(MainActivity.this, UpdateActivity.class);
  i1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  startActivity(i1); 
  // 启动服务
  Intent i2 = new Intent(MainActivity.this, MainService.class);
  i2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  Log.i("XXXXXXXXXXXXXXXXXXX", "002");
  startService(i2);
  ......

  }

其中UpdateActivity.class是一个不可见的Activity,作用是将数据写入数据库,
但是运行结果是MainActivity从数据库里面读出的数据条数为0,
我估计是MainActivity只是启动了UpdateActivity,
还没有等UpdateActivity运行结束就继续下面的代码,
所以读出的数据库里面没有数据,
有没有办法让UpdateActivity执行结束以后(也就是this.finish()以后),再让MainActivity继续进行下面的代码呢?






[解决办法]
启动服务的代码写在UpdateActivity的oncreate不行吗。。。
[解决办法]
在UpdateActivity中获得数据后发送一个broadcast,MainActivity接受这个broadcast,就可以获得这个数据了
[解决办法]
UpdateActivity作为一个后台Activity,其生命周期应该也不长吧。
那索性就使用
startActivityForResult(i1);
然后在onResult()里去
startService(i2);

如此可以确保,i1完成了,返回result再去启动service。