跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
Intent
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= Intent = '''Intent'''是Android系统中的一种消息传递对象,用于在不同应用组件(如[[Activity]]、[[Service]]、[[BroadcastReceiver]])之间进行通信。它可以用来启动组件、传递数据或声明要执行的操作。 == 基本概念 == Intent主要分为两种类型: * '''显式Intent''':明确指定要启动的组件名称 * '''隐式Intent''':声明要执行的操作类型,由系统决定哪个组件最适合处理 == 主要用途 == Intent在Android开发中主要有以下用途: 1. 启动[[Activity]] 2. 启动[[Service]] 3. 发送[[Broadcast]] 4. 在组件间传递数据 == 核心组成部分 == 一个Intent通常包含以下信息: * '''Action''':要执行的操作(如ACTION_VIEW、ACTION_SEND) * '''Data''':操作涉及的数据URI * '''Category''':关于处理Intent组件的附加信息 * '''Extras''':键值对形式的附加数据 * '''Flags''':指示系统如何处理Intent的标志 == 代码示例 == === 显式Intent示例 === <syntaxhighlight lang="java"> // 启动另一个Activity Intent explicitIntent = new Intent(this, TargetActivity.class); explicitIntent.putExtra("key", "value"); // 添加额外数据 startActivity(explicitIntent); </syntaxhighlight> === 隐式Intent示例 === <syntaxhighlight lang="java"> // 打开网页 Intent implicitIntent = new Intent(Intent.ACTION_VIEW); implicitIntent.setData(Uri.parse("https://www.example.com")); startActivity(implicitIntent); </syntaxhighlight> == 实际应用场景 == 1. '''应用内导航''':在Activity之间切换并传递数据 2. '''分享功能''':使用ACTION_SEND分享内容到其他应用 3. '''打开系统功能''':如拨打电话、查看地图等 4. '''后台任务''':启动Service执行长时间运行的操作 == 高级特性 == === Intent过滤器 === 组件通过在AndroidManifest.xml中声明<intent-filter>来声明它们能处理的Intent类型。 === PendingIntent === 一种特殊的Intent,允许其他应用以持有它的应用的权限执行其中包含的Intent操作。 === 深度链接 === 使用Intent实现应用间的深度链接,使用户可以直接跳转到应用内的特定内容。 == 注意事项 == * 使用隐式Intent时应始终检查是否有应用可以处理该Intent * 传递敏感数据时应注意安全性 * 避免在Intent中传递过大数据,可能导致TransactionTooLargeException == 参见 == * [[Activity]] * [[Service]] * [[BroadcastReceiver]] * [[ContentProvider]] * [[Context]] [[Category:Android组件]] [[Category:Java编程]] [[Category:移动开发]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)