要从您的活动中获取数据到您的意图,请将其作为额外的:
Intent intent = new Intent(this, MyIntent.class);
intent.putExtra("aString", aString);
intent.putExtra("aSomething", customSerializableType);
startActivityForResult(intent, MY_REQUEST_ID);
在 Intent 中把它弄出来:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
Intent intent = getIntent();
String newString = intent.getStringExtra("aString");
CustomSerializableType newSomething = intent.getSerializableExtra("aSomething");
}
根据您的意图发回数据:
private void done() {
Intent intent = new Intent();
intent.putExtra("aString", aString);
intent.putExtra("aSomething", customSerializableType);
setResult(Activity.RESULT_OK, intent);
finish();
}
并在托管活动中获取该数据
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case MY_REQUEST_ID:
if (resultCode == Activity.RESULT_OK) {
String newString = data.getStringExtra("aString");
CustomSerializableType newSomething = data.getSerializableExtra("aSomething");
}
break;
}