Android学习笔记-Intent-意图

发布于 2018-11-11  93 次阅读


显示意图

方法:
1. 创建一个显示意图
2. 使用 context 启动意图

特点:
- 创建意图的时候就指明要跳转到的Activity
- 只能跳转到当前应用中的Activity

总结:

用于应用之中,不同Activity的交互。

隐式意图

方法:
1. 使用空参构造器创建一个意图
2. 设置动作和指定的信息
3. 使用Content启动意图

特点:
- 不需要指明要跳转到Activity
- 同一个系统下的Activity都可以跳转
- 如果存在多个符合所设置要求的Activity,会弹出窗口让用户进行选择

总结:

用于系统之中,不同应用之间的Activity的交互。

意图的常用操作

LogCat参看当前启动的意图

参数 说明
act Action
cat Category
数据传递

可以通过 setData 和 putExtra 来传递数据。
putExtra支持八大基本数据类型,如果要传递对象的话,这个对象需要实现 Serializable 接口。

开启新的界面获取新的界面的返回值

  1. 告诉系统,打开新界面并且需要获取返回值<
Intent intent = new Intent(this, AActivity.class);
startActivityForResult(intent, 0);
  1. 新界面宣告完成,并返回数据
Intent data = new Intent();
data.putExtra("icon", resId);
setResult(0, data);
finish();
  1. 实现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);
}

做一只特立独行的猪