显示意图
方法:
1. 创建一个显示意图
2. 使用 context 启动意图
特点:
- 创建意图的时候就指明要跳转到的Activity
- 只能跳转到当前应用中的Activity
总结:
用于应用之中,不同Activity的交互。
隐式意图
方法:
1. 使用空参构造器创建一个意图
2. 设置动作和指定的信息
3. 使用Content启动意图
特点:
- 不需要指明要跳转到Activity
- 同一个系统下的Activity都可以跳转
- 如果存在多个符合所设置要求的Activity,会弹出窗口让用户进行选择
总结:
用于系统之中,不同应用之间的Activity的交互。
意图的常用操作
LogCat参看当前启动的意图
参数 | 说明 |
---|---|
act | Action |
cat | Category |
数据传递
可以通过 setData 和 putExtra 来传递数据。
putExtra支持八大基本数据类型,如果要传递对象的话,这个对象需要实现 Serializable 接口。
开启新的界面获取新的界面的返回值
- 告诉系统,打开新界面并且需要获取返回值<
Intent intent = new Intent(this, AActivity.class);
startActivityForResult(intent, 0);
- 新界面宣告完成,并返回数据
Intent data = new Intent();
data.putExtra("icon", resId);
setResult(0, data);
finish();
- 实现onActivityResult() 获取返回值
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data != null){
int resId = data.getIntExtra("icon", 0);
mHeadImg.setImageResource(resId);
}
super.onActivityResult(requestCode, resultCode, data);
}
Comments | NOTHING