Android Intent 与常用 Intent Action 完全指南
1. 什么是 Intent在 Android 开发中Intent是一个消息传递对象用于在组件如 Activity、Service、BroadcastReceiver之间请求操作或传递数据。它是 Android 应用组件间通信的核心机制主要用于以下场景启动 Activity从一个 Activity 跳转到另一个 Activity启动 Service启动后台服务执行任务传递广播向系统或其他应用发送广播消息调用外部应用调用系统功能或其他应用的功能2. Intent 的两种主要类型2.1 显式 IntentExplicit Intent显式 Intent 明确指定了要启动的组件类名通常用于启动应用内的组件// 启动应用内的另一个 Activity Intent intent new Intent(this, TargetActivity.class); startActivity(intent); // 启动 Service Intent serviceIntent new Intent(this, MyService.class); startService(serviceIntent);2.2 隐式 IntentImplicit Intent隐式 Intent 不指定具体的组件而是声明要执行的操作让系统匹配合适的组件// 打开网页 Intent intent new Intent(Intent.ACTION_VIEW, Uri.parse(https://www.google.com)); startActivity(intent);3. 常用 Intent Action 分类详解3.1 网页与搜索相关ACTION_WEB_SEARCH- 使用默认浏览器进行网页搜索Intent intent new Intent(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, 搜索关键词); startActivity(intent);ACTION_VIEW- 查看/打开内容最常用的 Action// 打开网页 Uri uri Uri.parse(http://www.google.com); Intent it new Intent(Intent.ACTION_VIEW, uri); startActivity(it); // 查看地图位置 Uri mapUri Uri.parse(geo:38.899533,-77.036476); Intent mapIntent new Intent(Intent.ACTION_VIEW, mapUri); startActivity(mapIntent);3.2 通讯相关ACTION_DIAL- 打开拨号界面Uri uri Uri.parse(tel:10086); Intent it new Intent(Intent.ACTION_DIAL, uri); startActivity(it);ACTION_CALL- 直接拨打电话需要 CALL_PHONE 权限Uri uri Uri.parse(tel:10086); Intent it new Intent(Intent.ACTION_CALL, uri); startActivity(it);ACTION_SENDTO- 发送短信/彩信// 发送短信 Uri smsUri Uri.parse(smsto:13800138000); Intent smsIntent new Intent(Intent.ACTION_SENDTO, smsUri); smsIntent.putExtra(sms_body, 短信内容); startActivity(smsIntent);3.3 邮件相关ACTION_SEND- 发送邮件支持附件Intent emailIntent new Intent(Intent.ACTION_SEND); emailIntent.setType(message/rfc822); emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{recipientexample.com}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, 邮件主题); emailIntent.putExtra(Intent.EXTRA_TEXT, 邮件正文内容); startActivity(Intent.createChooser(emailIntent, 选择邮件客户端));3.4 多媒体相关ACTION_VIEW- 播放多媒体文件// 播放音频文件 Uri audioUri Uri.parse(file:///sdcard/music.mp3); Intent audioIntent new Intent(Intent.ACTION_VIEW); audioIntent.setDataAndType(audioUri, audio/mp3); startActivity(audioIntent); // 播放视频文件 Uri videoUri Uri.parse(file:///sdcard/video.mp4); Intent videoIntent new Intent(Intent.ACTION_VIEW); videoIntent.setDataAndType(videoUri, video/mp4); startActivity(videoIntent);ACTION_IMAGE_CAPTURE- 拍照Intent takePictureIntent new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) ! null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); }ACTION_GET_CONTENT- 从图库选择图片Intent pickPhotoIntent new Intent(Intent.ACTION_GET_CONTENT); pickPhotoIntent.setType(image/*); startActivityForResult(pickPhotoIntent, PICK_IMAGE_REQUEST);3.5 应用管理相关ACTION_DELETE- 卸载应用Uri packageUri Uri.parse(package:com.example.app); Intent uninstallIntent new Intent(Intent.ACTION_DELETE, packageUri); startActivity(uninstallIntent);ACTION_VIEW- 打开应用商店// 查看应用详情 Uri appDetailsUri Uri.parse(market://details?idcom.example.app); Intent marketIntent new Intent(Intent.ACTION_VIEW, appDetailsUri); startActivity(marketIntent); // 搜索应用 Uri searchUri Uri.parse(market://search?qpname:com.example); Intent searchIntent new Intent(Intent.ACTION_VIEW, searchUri); startActivity(searchIntent);3.6 联系人相关ACTION_PICK- 选择联系人Intent pickContactIntent new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);4. Intent 的额外数据ExtrasIntent 可以通过 putExtra() 方法传递额外数据// 传递简单数据 intent.putExtra(key_string, 字符串值); intent.putExtra(key_int, 100); intent.putExtra(key_boolean, true); // 传递复杂数据需要实现 Parcelable 或 Serializable intent.putExtra(user, userObject); // 传递 Uri 数据 intent.putExtra(Intent.EXTRA_STREAM, imageUri);5. Intent Filter 与组件匹配当使用隐式 Intent 时系统通过 Intent Filter 来匹配组件。在 AndroidManifest.xml 中声明activity android:name.ShareActivity intent-filter action android:nameandroid.intent.action.SEND / category android:nameandroid.intent.category.DEFAULT / data android:mimeTypetext/plain / /intent-filter /activity6. 常用 Intent Action 速查表Action 常量用途示例场景Intent.ACTION_VIEW查看/打开内容打开网页、查看图片、播放视频Intent.ACTION_SEND发送内容分享文本、图片、文件Intent.ACTION_DIAL打开拨号界面拨打电话前输入号码Intent.ACTION_CALL直接拨打电话需要 CALL_PHONE 权限Intent.ACTION_SENDTO发送短信/邮件跳转到短信/邮件应用MediaStore.ACTION_IMAGE_CAPTURE拍照调用相机应用拍照Intent.ACTION_GET_CONTENT获取内容从图库选择图片Intent.ACTION_PICK选择项目选择联系人、选择图片Intent.ACTION_WEB_SEARCH网页搜索使用默认浏览器搜索Intent.ACTION_DELETE删除/卸载卸载应用程序7. 最佳实践与注意事项7.1 检查 Intent 是否可处理Intent intent new Intent(Intent.ACTION_VIEW, Uri.parse(http://www.example.com)); if (intent.resolveActivity(getPackageManager()) ! null) { startActivity(intent); } else { // 没有应用可以处理此 Intent Toast.makeText(this, 没有可用的浏览器, Toast.LENGTH_SHORT).show(); }7.2 使用 Intent.createChooser()Intent shareIntent new Intent(Intent.ACTION_SEND); shareIntent.setType(text/plain); shareIntent.putExtra(Intent.EXTRA_TEXT, 分享内容); startActivity(Intent.createChooser(shareIntent, 选择分享方式));7.3 权限管理CALL_PHONE直接拨打电话需要此权限CAMERA拍照需要此权限READ_CONTACTS读取联系人需要此权限在 Android 6.0 上需要运行时权限申请7.4 数据安全避免传递敏感数据到不可信的应用使用适当的 MIME 类型限制数据访问考虑使用 FileProvider 共享文件8. 总结Intent 是 Android 应用组件间通信的桥梁掌握常用的 Intent Action 能够让你的应用更好地与系统和其他应用交互。本文涵盖了最常见的 Intent 使用场景但在实际开发中还需要根据具体需求查阅官方文档了解更多的 Intent Action 和配置选项。记住显式 Intent 用于应用内部组件跳转隐式 Intent 用于调用系统或其他应用功能。合理使用 Intent 可以让你的应用更加开放和强大。

相关新闻

5步玩转fre:ac音频转换器:从新手到高手的实战秘籍

5步玩转fre:ac音频转换器:从新手到高手的实战秘籍

5步玩转fre:ac音频转换器:从新手到高手的实战秘籍 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 还在为音频格式转换而烦恼吗?fre:ac这款开源免费的音频转换神器,能…

2026/10/11 1:27:23 阅读更多 →
TMS320DM6431外设时序与寄存器配置实战指南

TMS320DM6431外设时序与寄存器配置实战指南

1. 项目概述与核心价值 在嵌入式系统,尤其是基于DSP的数字媒体处理器开发中,最让工程师头疼的往往不是算法本身,而是如何让处理器与外部世界“对话”得稳定可靠。我见过太多项目,算法跑得飞快,但数据就是传不对、传不稳…

2026/9/29 13:48:37 阅读更多 →
音乐解锁革命:3分钟解放你的加密音乐收藏

音乐解锁革命:3分钟解放你的加密音乐收藏

音乐解锁革命:3分钟解放你的加密音乐收藏 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitcode.c…

2026/10/9 11:52:09 阅读更多 →

最新新闻

工业AI质检大模型技术方案:小样本快速换线与边缘部署实战

工业AI质检大模型技术方案:小样本快速换线与边缘部署实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 1:26:28 阅读更多 →
从 push 到上线只差一条 Git 钩子:OpenShip CI/CD 全链路时序拆解

从 push 到上线只差一条 Git 钩子:OpenShip CI/CD 全链路时序拆解

从 push 到上线只差一条 Git 钩子:OpenShip CI/CD 全链路时序拆解 【免费下载链接】openship Self-hosted deployment platform 项目地址: https://gitcode.com/GitHub_Trending/ope/openship "推代码即上线"这个承诺,托管平台做了十几…

2026/10/11 1:26:28 阅读更多 →
sqlmap注入Drupal < 7.32 “Drupalgeddon“ SQL注入漏洞(CVE-2014-3704)

sqlmap注入Drupal < 7.32 “Drupalgeddon“ SQL注入漏洞(CVE-2014-3704)

一、复现教程 Drupal < 7.32 "Drupalgeddon" SQL注入漏洞&#xff08;CVE-2014-3704&#xff09; Drupal是一个使用PHP编写的免费开源的Web内容管理框架&#xff0c;在GNU通用公共许可证下分发。 在Drupal Core 7.32版本之前的7.x版本中&#xff0c;数据库抽象…

2026/10/11 1:26:28 阅读更多 →
用知识图谱构建电影问答系统:Neo4j+Python实战指南

用知识图谱构建电影问答系统:Neo4j+Python实战指南

简介&#xff1a;这是一套面向高校计算机及相关专业学生&#xff08;如人工智能、自动化、电子信息等&#xff09;的毕业设计级知识图谱实践项目&#xff0c;聚焦电影领域问答场景&#xff0c;解决结构化语义查询与自然语言理解落地问题。资源共45个文件&#xff0c;涵盖7个核心…

2026/10/11 1:26:28 阅读更多 →
让插图更好看的3种模式:AutoFigure AI图像增强功能(none/code/code2prompt)完整解析

让插图更好看的3种模式:AutoFigure AI图像增强功能(none/code/code2prompt)完整解析

让插图更好看的3种模式&#xff1a;AutoFigure AI图像增强功能&#xff08;none/code/code2prompt&#xff09;完整解析 【免费下载链接】AutoFigure 项目地址: https://gitcode.com/gh_mirrors/au/AutoFigure AutoFigure 是一个开源的 AI 科学插图生成系统&#xff08…

2026/10/11 1:26:28 阅读更多 →
基于CNN的图像风格迁移毕设实战:VGG19原理、PyTorch源码与调参避坑指南

基于CNN的图像风格迁移毕设实战:VGG19原理、PyTorch源码与调参避坑指南

简介&#xff1a;这是一份面向计算机、人工智能、通信工程等专业学生与教师的毕业设计级项目源码&#xff0c;基于CNN卷积神经网络实现图像与视频风格迁移&#xff0c;适合课程设计、毕设答辩或项目初期立项演示&#xff0c;也便于具备一定Python基础的学习者在此基础上二次开发…

2026/10/11 1:25:27 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →