Intent总结02 component和显式意图

Intent总结02 component和显式意图

1 介绍

显式意图,即Explicit Intents。显式意图通过component明确指定类名,用于跳转。通常用到的APIsetComponent(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 示例和说明
程序结构如下:
Intent总结02 component和显式意图

程序主界面如下:
Intent总结02 component和显式意图

点击主界面的各个按钮都跳转到ExplicitDestination,logcat信息也相同。ExplicitDestination的界面如下:
Intent总结02 component和显式意图

logcat信息如下(红色字体):
intent=Intent { cmp=com.test/.ExplicitDestination }, cn=ComponentInfo{com.test/com.test.ExplicitDestination},pkgName=com.test,className=com.test.ExplicitDestination

点击下载:示例代码

你可能感兴趣的:(component)