如何使用意图共享来共享 gif 图像到可用的应用程序?

2024-01-11

我想与 Whatsapp 等可用应用程序共享 .gif,但无法获取我的可绘制资源中存在的 gif 的有效 Uri。

 Uri path = Uri.parse("android.resource://my_package_name/" + R.drawable.gif_1);
    Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("image/gif");
    shareIntent.putExtra(Intent.EXTRA_STREAM, path);

有很多关于共享图像的解决方案,但没有关于共享gif的解决方案,请帮忙


我找到了答案,我刚刚创建了一个扩展名为 .gif 的文件,它对我有用。请参阅下面的代码:

private void shareGif(String resourceName){

    String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
    String fileName = "sharingGif.gif";

    File sharingGifFile = new File(baseDir, fileName);

    try {
        byte[] readData = new byte[1024*500];
        InputStream fis = getResources().openRawResource(getResources().getIdentifier(resourceName, "drawable", getPackageName()));

        FileOutputStream fos = new FileOutputStream(sharingGifFile);
        int i = fis.read(readData);

        while (i != -1) {
            fos.write(readData, 0, i);
            i = fis.read(readData);
        }

        fos.close();
    } catch (IOException io) {
    }
    Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("image/gif");
    Uri uri = Uri.fromFile(sharingGifFile);
    shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
    startActivity(Intent.createChooser(shareIntent, "Share Emoji"));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用意图共享来共享 gif 图像到可用的应用程序? 的相关文章

  • Android Studio 3.0.0 不允许 DOCTYPE

    升级到Android Studio 3 0 0 同步并更新gradle插件 出现以下错误 Error DOCTYPE not allowed if function http apache org xml features disallow
  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • 与其他图标相比,AppCompat ShareActionProvider 图标太大

    我将 ActionBarSherlock 更改为 AppCompat v7 我已经完成了使其工作所需的所有更改 但是共享图标 使用 ShareActionProvider 发生了一些奇怪的情况 与其他图标相比 共享图标太大 我还使用支持库进
  • GridView 中多次调用 getView()

    我的 Activity 由包含 40 多个元素的 GridView 组成 开始活动后 用户最多可以看到 15 个项目 3 行 每行 5 个项目 我在 getView 正文中编写传递给获取 View 的 LogCat 编号 Log i get
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • 如何防止布局的方向改变,而不是整个屏幕/活动的方向改变

    我需要一个子布局 可以是任何布局 例如FrameLayout or RelativeLayout 忽略方向变化并始终保持横向 但不是它的父级或任何其他兄弟布局 视图 它们应该相应地改变它们的方向 因此 我不能使用setRequestedOr
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 在 Jetpack Compose 中跨可组合函数重复使用一组预览注释

    在 Jetpack Compose 中迈出第一步 这非常令人惊奇 除了一个恼人的问题 我有一组固定的预览 正常 深色和 RTL Preview name Normal group Screen showBackground true Pre
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • 为什么Android应用程序在发布到市场后尺寸会增加?

    我最近在 Android 市场上发布了我的应用程序 显示应用程序大小为 5 4MB 而实际 apk 大小为 2 8MB 为什么显示多出2MB 我应该如何限制我的应用程序大小 请帮我 您的应用程序大小会增加 因为您使用了复制保护选项ON在发布
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Vimeo 视频在 Android 6 设备上停止播放

    我正在尝试在我的应用程序中播放 Vimeo 的视频 问题是在 Android 6 设备上 视频会在一定时间后停止播放 在 API 较低的设备上一切正常 时间取决于质量 对于下面提供的网址的视频 播放一定分钟 1 到 3 视频质量有多低 播放
  • Android 从命令行停止模拟器

    这个问题与如何通过命令行关闭Android模拟器 https stackoverflow com questions 5912403 how to shut down android emulator via cmd 但是 在尝试第一个答案
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 按字母顺序过滤 Firestore 数据以对 Google Cloud 中的文档读取进行分类/减少

    基于这样的事实Cloud Firestore 不支持全文搜索 https firebase google com docs firestore solutions search到目前为止 我决定问这个question https stack
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A

随机推荐

  • JavaScript 唯一浏览器 ID

    有没有办法在javascript中为浏览器创建一个唯一的ID 我说的不是每次生成时都是随机的 ID 而是生成该 ID 的浏览器所特有的 ID 而且还考虑了运行该 ID 的计算机 Example Windows 7 Chrome 可能会生成
  • Ionic Zip 仅提取特定文件夹

    我有一个案例 我需要使用 C Ionic zip 库提取 Zip 文件 Zip 文件包含多个文件夹 我想提取特定文件夹并将其复制到特定目的地 例如名为 abc zip 的 Zip 文件和目录结构如下 父目录 gt 子目录1 gt 文件a 文
  • 从文档大纲(书签)中获取页码

    我正在使用 itext7 库来操作一些现有的 PDF 由于某种原因 我无法从大纲中获取页码 我想我应该以某种方式从Pdf目的地 http itextsupport com apidocs itext7 latest com itextpdf
  • 每天都会对 Java 8 Stream API 中的实体进行惰性排序吗?

    我有一个很大的 Java 8 Stream Stream
  • 字符串的哈希函数

    我正在用 C 语言研究哈希表 并且正在测试字符串的哈希函数 我尝试的第一个功能是添加 ascii 代码并使用模 100 但我的第一次数据测试结果很差 130 个单词有 40 次碰撞 最终输入数据将包含 8000 个单词 它是存储在文件中的字
  • 如何显示R中两个日期之间发生的事件

    我的问题看起来很简单 我希望如此 我有一个数据框 其中包含疾病诊断日期 指示患者服用哪种药物 或暴露和未暴露组 的二元变量 药物的开始和停止日期以及总体停止日期 ID Diag date Treatment End date Drug st
  • c3p0中的资源无法检出的原因是什么?

    因此 我正在研究 c3p0 API 来调试我们的一个生产问题 该问题导致在检查连接时出现堆栈溢出错误 我发现下面的评论BasicResourcePool班级的checkoutResource method This function rec
  • Vuetify 标准设置(babel/eslint)图像加载失败

    我正在开发一个 VueJS 项目 并尝试在轮播上加载图像 我正在使用标准设置并将图像放在资产文件夹中 我引用图像 URL
  • Storybook 需要导出默认的 Ant Design 组件才能应用样式

    我希望使用 Ant Design 设计一些 React 组件 并将它们记录在 Storybook 中 故事书和组件都编写正确且有效 模态故事 js import React from react import action from sto
  • python中具有相同名称的对象引用不同的id

    在下面的代码片段中 两个对象名为div在第 1 行和第 2 行创建 python如何区分两者div在同一作用域下创建的对象 When id 应用于两个对象 对于相似的命名对象会显示两个不同的地址 为什么会这样呢 def div a b re
  • webclient 方法对我的 Silverlight 应用程序不可用

    尝试用 C 进行基本的 Web 客户端数据拉取 这些方法在 Visualstudio 中不可用 并且代码无法编译 snip WebClient client new WebClient byte resp client DownloadDa
  • Pytorch:交叉熵损失中的权重

    我试图通过一个实际的例子来理解 CrossEntropyLoss 中的权重是如何工作的 所以我首先运行标准 PyTorch 代码 然后手动运行 但损失并不相同 from torch import nn import torch softma
  • Keras:网络不使用 fit_generator() 进行训练

    我在大型数据集上使用 Keras 使用 MagnaTagATune 数据集进行音乐自动标记 所以我尝试将 fit generator 函数与自定义数据生成器一起使用 但损失函数和指标的值在训练过程中不会改变 看起来我的网络根本没有训练 当我
  • 如何在 Ubuntu 上修复 Nokogiri?

    我在我的工作站上运行 Ubuntu 13 04 并使用 ruby 2 0 0 它是通过 RVM 安装的 aptitude 显示 libxml2 Package libxml2 State installed Automatically in
  • java扩展类有两种类型

    在java中我有以下内容 ClassA obj new ClassB where ClassB extends ClassA 是类型的对象ClassA or ClassB或两者 如果我们有 ClassB obj new ClassB 看来很
  • Grails3文件上传maxFileSize限制

    我正在尝试更新 Grails 3 中的文件上传 maxFileSize 限制 并尝试了以下配置src main resources application properties application groovy and applicat
  • Chisel 中的矩阵运算

    Chisel是否支持加法 乘法 转置等矩阵运算 如果没有 实施它们的最佳方法是什么 向量怎么样 Chisel 不支持矩阵运算 它是一种用于编写实现此类操作的硬件生成器的 DSL 有关专用数学硬件生成器的示例 请参阅 Hwacha 硬件矢量单
  • 列出用户在过去几天签入 TFS 的所有文件

    我们有很多项目 每个项目都有几个文件 可以从主解决方案根 项目级别和个人级别签入文件 有没有办法找到特定用户在过去几天签入的所有级别的所有文件 如果安装了 TFS 电动工具 则可以在 Visual Studio 命令提示符下使用命令 tfp
  • 断言接口的类型

    在一般情况下 我无法优雅地将图像的像素作为数组获取 f err os Open imgPath check err defer f Close img err image Decode bufio NewReader f check err
  • 如何使用意图共享来共享 gif 图像到可用的应用程序?

    我想与 Whatsapp 等可用应用程序共享 gif 但无法获取我的可绘制资源中存在的 gif 的有效 Uri Uri path Uri parse android resource my package name R drawable g