以下内容整理自互联网,仅用于个人学习
1. Intent可传递如下几种类型数据
- 八大基本类型及其对应的数组,CharSequence(String)及其数组
- 传递一个Bundle
- 传递Serializable对象
- Parcelable及其对应数组
- Intent
- ArrayList,泛型参数类型为:<Integer>、<? Extends Parcelable>、<Charsequence>、<String>
2. 使用Intent启动Activity的几种方式
2.1 直接通过class对象
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
2.2 通过包名+类名
Intent intent = new Intent();
//第一个参数是包名称,第二个参数是要启动的类的全限定名称
intent.setClassName("com.ljr.example.test", "com.ljr.example.test.SecondActivity");
startActivity(intent);
2.3 通过包Context+类名
Intent intent = new Intent();
//第一个参数是包Context,可以直接传入Activity即可,第二个参数是要启动的类的全限定名称
intent.setClassName(this, "com.ljr.example.test.SecondActivity");
startActivity(intent);
2.4 通过ComponentName
Intent intent = new Intent();
//第一个参数是包名称,第二个参数是要启动的类的全限定名称
ComponentName cn = new ComponentName("com.ljr.example.test", "com.ljr.example.test.SecondActivity");
intent.setComponent(cn);
startActivity(intent);
2.5 通过隐式方式
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addCategory("com.ljr.example.second");
intent.setAction("com.ljr.example.action");
startActivity(intent);
网友评论