Intent总结02 component和显式意图
显式意图,即Explicit Intents。显式意图通过component明确指定类名,用于跳转。通常用到的API有setComponent(ComponentName)或setClass(Context, Class)等。
常用的显示意图跳转方法说明 方法01:通过构造函数Intent(ContextpackageContext, Class<?> cls),直接指定目的类。//jump Method - 01 : Intent(Context packageContext, Class<?> cls) Intentintent = new Intent(Activity01.this, Activity02.class); startActivity(intent);
方法02:通过setClass (Context packageContext,Class<?> cls)指定目的类//jump Method - 02 : setClass (Context packageContext, Class<?> cls) Intentintent = new Intent().setClass(Activity01.this, Activity02.class);
方法03:通过setClassName (String packageName,String className)指定目的类
//jump Method - 03 : setClassName (String packageName, String className) Intentintent = new Intent().setClassName("com.test","com.test.Activity02"); startActivity(intent);
方法04:通过setComponent(ComponentNamecomponent)// jump Method - 04 :setComponent(ComponentName component) ComponentName cn = new ComponentName("com.test","com.test.ExplicitDestination"); Intent intent = new Intent(); intent.setComponent(cn); startActivity(intent);
2 示例和说明
程序结构如下:
程序主界面如下:
点击主界面的各个按钮都跳转到ExplicitDestination,logcat信息也相同。ExplicitDestination的界面如下:
logcat信息如下(红色字体):
intent=Intent { cmp=com.test/.ExplicitDestination }, cn=ComponentInfo{com.test/com.test.ExplicitDestination},pkgName=com.test,className=com.test.ExplicitDestination
点击下载:示例代码