跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Android 使用 Intent.ACTION_SEND 分享图片和文字内容示例

Android Intent.ACTION_SEND 用于实现应用间数据分享。通过设置 Intent 类型为 text/plain 可分享纯文本;设置为 image/* 并添加 EXTRA_STREAM 可分享图片。若需同时分享图文,需注意 URI 权限配置(如 FileProvider)及类型设置逻辑,确保目标应用能正确接收流媒体数据。

随缘发布于 2025/2/7更新于 2026/10/22113 浏览
Android 使用 Intent.ACTION_SEND 分享图片和文字内容示例

Android 使用 Intent.ACTION_SEND 分享图片和文字内容示例

本文介绍在 Android 开发中如何使用 Intent.ACTION_SEND 实现分享功能,涵盖纯文本分享以及图文混合分享的代码示例。

仅分享文字

以下方法用于实现普通的文字分享:

private void shareContent() {
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("text/plain");
    String title = "标题";
    String extraText = "给大家介绍一个好网站";
    share.putExtra(Intent.EXTRA_TEXT, extraText);
    if (title != null) {
        share.putExtra(Intent.EXTRA_SUBJECT, title);
    }
    startActivity(Intent.createChooser(share, "分享一下")); 
}

同时分享图片和文字

若需同时分享图片和文字(例如分享到微博等应用),可使用以下方法:

private void share(String content, Uri uri) {
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    if (uri != null) {
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
        shareIntent.setType("image/*");
        // 部分应用支持 sms_body 传递文字
        shareIntent.putExtra("sms_body", content);
    } else {
        shareIntent.setType();
    }
    shareIntent.putExtra(Intent.EXTRA_TEXT, content);
    
    startActivity(Intent.createChooser(shareIntent, ));
}
"text/plain"
// 自定义选择框的标题
"邀请好友"

注意事项

  1. 类型设置:setType("image/*") 允许传递图片,同时也兼容文字内容。其中图片内容由 Uri 指定。
  2. URI 权限:在 Android 7.0+ 系统中,直接传递 file:// URI 会导致崩溃。建议使用 FileProvider 生成 content:// URI 并配置权限文件,确保目标应用能正确读取文件。
  3. 兼容性:不同应用对 EXTRA_STREAM 和 sms_body 的支持程度不同,建议优先使用标准的 EXTRA_TEXT 配合流媒体数据。

目录

  1. Android 使用 Intent.ACTION_SEND 分享图片和文字内容示例
  2. 仅分享文字
  3. 同时分享图片和文字
  4. 注意事项

更多推荐文章

查看全部
  • 高校 AIGC 检测新规解读:AI 率合格标准与应对策略
  • 多机器人多 Agent 模式:构建 AI 助手团队
  • 使用 ChatGPT 降低毕业论文 AIGC 检测率的实操方法
  • CSS 元素显示模式详解:块级、行内与转换实战
  • AI 编程 Spec Coding 标准化工作流详解
  • 没有项目经验如何快速转行 AI 产品经理
  • Python itertools pairwise 函数详解
  • Web 安全学习体系与常见漏洞实战解析
  • 本地部署 GLM-4.6V-Flash-WEB 保障数据隐私
  • Hash 校验 MD5 值及 SHA1 值
  • 数据结构实战:链表、栈与队列的 C 语言实现
  • Claude Code 本地配置与使用指南
  • Spatial Joy 2025 全球 AR&AI 赛事:开发者资源与参赛攻略
  • Qwen-Image AI 绘画:ComfyUI 镜像部署与使用指南
  • Python 实现智能 PDF 文档助手 AI 小工具
  • ROG-Map: 基于机器人中心的大场景高分辨率 LiDAR 运动规划网格地图
  • 6 款主流国产大模型功能对比与使用指南
  • MCPHost 实战:利用模型上下文协议连接大模型与外部工具
  • 使用Selenium构建免费Web搜索API服务
  • 通义万相 2.1 文生图与文本生成 API 调用实战

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online