Activity A:
int tag = 0;
startActivityForResult(new Intent(getApplication(), LoreAddActivity.class).putExtra("tag1", tag), 100);
@Override
protected void onActivityResult(int arg0, int arg1, Intent arg2) {
super.onActivityResult(arg0, arg1, arg2);
if(arg1==RESULT_OK){
switch (arg0) {
case 100:
tag2 = arg2.getIntExtra("tag2", 0);
break;
default:
break;
}
}
}
Activity B:
int tag = getIntent().getIntExtra("tag1",0);
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putInt("tag2", tag);
intent.putExtras(bundle);
setResult(RESULT_OK, intent);
finish();
有可能是intent 里面出错了。 尝试下new Intent(XXX.this,LoreAddActivity.class);
getApplication返回的application对象也继承了context,所以你可以这样用。但是如果没有明确指定来源,那么当接收回调即setResult的时候,B 是不知道这个intent来自哪里的。以上是我的理解,仅供参考,如有错误请指出