Android官方文档定义Intent为一次即将操作的抽象描述.
Android当中,一共用到了3种 Intent:
(1) 通过Intent来启动一个Activity
(2) 通过Intent来启动一个服务(Service)
(3) 通过Intent来广播一个事件
通过Intent来启动一个Activity,可以在Intent中传递数据,最常见的就是一些键值对.
Intent intent = new Intent(Acvitity1.class, Activity2.class);
intent.putExtra("key", "value");
这样,在启动Activity2的时候,就把一组键值对添加到Intent的mExtras变量里面了.mExtras
是一个Bundle类型,Bundle是一个类型安全的容器,它的实现其实就是对HashMap做了一层
封装. HashMap可以放任何的键值对,值可以是任何的Java对象, 但是对于Bundle,值只能是
基本类型, 或者基本类型的数组, 比如String, int, byte, boolean, char 等.
跳转到Activity2后, 可以获取Intent中传递的数据:
Bundle extras = getIntent().getExtras();
data = extras.getString("key");