以下全是个人理解//瞎扯
其实活动理解理解起来就像一个个函数
那么Intent就是调用函数和参数传递
可以有无参,仅仅是调用
Intent intent = new Intent(A.this, B.class); startActivity(intent);
由活动A调用活动B,无参,无返回值,当然B调用结束,要回到A。
可以有参数
A
---
Intent intent = new Intent(A.this, B.class); intent.putExtra( "这里是参数的键" , "这里是参数,本样例是字符串,也可以是其他的类型" ); // 传参 startActivity(intent);
B
---
Intent intent = getIntent(); String data = intent.getStringExtra("这里是参数的键"); //取出参数
由活动A调用活动B,无参,无返回值。
可以传参当然也可以返回参数
A
---
Intent intent = new Intent(A.this, B.class);
startActivity(intent, 1); //1是请求码,要求唯一 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 接收返回的值
switch(requestCode) { //请求码是唯一的
case 1:
if (resultCode == RESULT_OK) {
String returnData = data.getStringExtra("data_return");
}
break;
dafault:
}
} B
---
Intent intent = getIntent();
intent.putExtra("data_return", "hey~");
setResult(RESULT_OK/RESULT_CANCELED, intent);
其实吧 可以把活动间通信想象成两地用信鸽传信,而Intent就是那个信鸽。
信鸽可以不带消息,就只是一个鸽子,也可以在腿上绑上信,放信鸽的人和收信鸽的利用鸽子放信的姿势当然是一样的啦。
但是可能有很多鸽子,所以如果鸽子传信回来,一定要看看,是不是自己的鸽子,于是给鸽子编个号,防止认错。