用ActivityForResult启动Activity怎么传值给启动的Activity

用ActivityForResult启动Activity怎么传值给启动的Activity,我用Intent传值,新启动的Activity里边收不到,我用的是getIntent().put方法取的

比如当前是在activityA,要跳转到activityB,且传递一个 String s 给activityB。
则在activityA中跳转:

Intent intent = new Intent(activityA.this,activityB.class);
String s = "my data";
intent.putExtra("string",s);
startActivityForResult(intent,1);

在activityB的onCreate中获取传递过来的s:

String s = getIntent().getStringExtra("string");

和平常的intent一样 只是启动不是用startactivity(intent) 而是 startactivityforresult(intent,CODE);
Intent intent = new Intent(activityA.this,activityB.class);
intent.putExtra(KEY,VALUE);
startActivityForResult(intent,CODE);

startactivityforresult(intent,CODE);
Intent intent = new Intent(activityA.this,activityB.class);
intent.putExtra(KEY,VALUE);
startActivityForResult(intent,CODE); 正解