skywang12345

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 
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 示例和说明
程序结构如下:


程序主界面如下:


点击主界面的各个按钮都跳转到ExplicitDestination,logcat信息也相同。ExplicitDestination的界面如下:


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

点击下载:示例代码

posted on   如果天空不死  阅读(775)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
 
点击右上角即可分享
微信分享提示