比如从A跳转到B,然后等待从B回传数据:
那么在A中这样跳转:
startActivityForResult(intent, 100);
后面那个requestCode要大于0;
然后在A中重写这个方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.e("onActivityResult", "onActivityResult");
//可以根据多个请求代码来作相应的操作
if(20==resultCode)
{}
}
在B中使用:
Intent intent=new Intent();
intent.putExtras(bundle);
setResult(20, intent);
那么A中的onActivityResult在什么时候会被调用呢?跟踪发现,会在B调用finish()的时候,比如,你按了返回键,或者显示调用finish()等,也是销毁的时候。