java - 为什么 Twitter 应用程序不共享动画 gif?

标签 java android android-intent

我最近注意到,在分享我从我的应用生成的动画 .gif 时,官方 Twitter 应用 只会将其作为静态图像分享。

以前,我认为一切正常,因为当我与非官方 Twitter 应用程序 (Tweetcaster) 共享相同类型的动画 .gif 时,它正确地将其作为动画 .gif 共享。

我想问的是,这是我的问题还是官方 Twitter 应用程序的问题?我问这个是因为当从 Android Gallery 与官方 Twitter 应用程序共享动画 .gif 时,它也会作为静态 .gif 发布。

这是有问题的代码:

public void shareGif(String path)
    {       
        File file = new File(path);
        Uri uri = Uri.fromFile(file);

        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("image/gif");
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
        intent.putExtra(Intent.EXTRA_TEXT, "text");
        intent.putExtra(Intent.EXTRA_STREAM, uri);

        startActivity(Intent.createChooser(intent, "Choose a sharing option"));
    }

最佳答案

我遇到了和你一样的问题。我正在从 drawables 加载 URIs 以及它没有动画的任何东西。

我通过实现自定义 file provider 解决了我的问题并从 assets 文件夹中加载 GIF。

此外,添加此标志非常重要 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

关于java - 为什么 Twitter 应用程序不共享动画 gif?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27423641/

相关文章:

android - 如何获得两个位置之间的行驶距离?

java - `Box<Cat>` 是 `Box<? extends Animal>` 的子类型吗?

java - 删除末尾的多余空间

android - 如何获取OpenGL在移动设备中使用的内存总量?

java - 在 Android Activity 之间传递字符串

android - 通过接收 Intent 强制关闭错误

java - 如何将 java 程序嵌入我的网站?

java - getContentLength() 仅在 WiFi 中返回 -1?

java - 涉及回调的Service如何获取数据到Activity?

android - MPAndroidChart 可以自动转换单位吗?