在下列所有说明中 只有两个Activity A 和 B,并且B是通过A启动的。
A启动B
很简单 就两行 在Activity A中, 启动 Activity B
intent = new Intent(ActivityA.this,ActivityB.class);
startActivity(intent);
A启动B 并向B传递数据
多了一行 绑定数据
intent = new Intent(ActivityA.this,ActivityB.class);
intent.putExtra("data","我是A");
startActivity(intent);
B接收A的数据
String sData = getIntent().getStringExtra("data").toString();
//sData: 我是A
A启动B 向B传递数据 并接收B的应答
private static final int request = 100;
private static final int result = 200;
intent = new Intent(ActivityA.this,ActivityB.class);
intent.putExtra("data","我是A,收到请回答");
startActivityForResult(intent,request);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == result && requestCode == request){
if(data != null){
String sData = data.getStringExtra("result").toString());
//sData: A,我是B,已经收到
}
}
}
B接收数据 并对A 应答
String sData = getIntent().getStringExtra("data").toString();
//sData: 我是A,收到请回答
Intent data = new Intent();
data.putExtra("result","A,我是B,已经收到");
setResult(200,data);
//finish();结束ActivityB本身