感谢大佬:https://www.jianshu.com/p/19147a69e970
Intent 常用构造方法:
| 方法 | 描述 |
|Intent() | 构造一个空 Intent |
| Intent(String action)| 构造一个指定 action 的 Intent |
| Intent(String action,Uri uri)| 构造一个指定 action 和 uri(相当于同时设定了 data)的 Intent|
| Intent(Context packageContext,Class<?> cls)| 构造一个指定目标组件的 Intent,显式 Intent 的主要构造方法 |
常用的设定信息方法:
| 方法 | 描述 |
|:?:-----|
|setAction(String action)|指定 action|
|setClass(Context packageContext, Class<?> cls)|指定目标组件类名|
|setData(Uri data)|设置 Data 的 uri|
|setType(String type)|设置 Data 的 MIME 类型|
|setDataAndType(Uri data, String type)|同时设置 Data 的 uri 与 MIME 类型|
|addCategory(String category)|添加一项 Category,Intent 可有多个 Category|
|addFlags(int flags)|设置 Flag,决定目标组件的启动方式|
|putExtra(String name, 基本类型和序列化类 value)|放入附加数据,参 2 可以是各种基本类型,及序列化后的自定义类|
|putExtras(Bundle extras)|把封装了数据信息的 Bundle 对象放入 Intent|
*若要同时设置 URI 和 MIME 类型,请勿调用 setData() 和 setType(),因为它们会互相抵消彼此的值。请始终使用 setDataAndType() 同时设置 URI 和 MIME 类型。