根据方法名可知 这个方法是要得到启动后的Activity返回的数据; 如A 启动了 B ; 那么就是得到B中返回的数据;
1:A
package org.zhou.test.start;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class StartActivityForResultActivity extends Activity implements OnClickListener {
private Button start;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
start = (Button)findViewById(R.id.start);
start.setOnClickListener(this);
}
public void onClick(View v) {
if(v == start) {
Intent intent = new Intent();
intent.putExtra("key", "Say Hello");
intent.setClass(StartActivityForResultActivity.this, NextActivity.class);
startActivityForResult(intent,123211);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
//接收返回来的数据
if(resultCode == 34901) {
Log.i("Infos", "request:"+requestCode);
Log.i("Infos", "value:"+data.getStringExtra("key"));
}
}
}
2: B
package org.zhou.test.start;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class NextActivity extends Activity implements OnClickListener {
private Button next;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
next = (Button)findViewById(R.id.next);
next.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(next == v) {
Intent intent = new Intent();
intent.putExtra("key", "values This is good");
intent.setClass(NextActivity.this, StartActivityForResultActivity.class);
this.setResult(34901, intent);
finish();
}
}
}
这里的requestCode就是前面的123211 而resultCode就是34901 这样就可以达到接收唯一的指定的数据了