为什么Twitter应用程序不共享动画GIF?

时间:2014-12-11 13:06:49

标签: java android android-intent

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

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

我正在质疑的是这是我的问题还是官方Twitter应用程序的问题?我问这个是因为当使用官方Twitter应用程序从Android Gallery分享动画.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"));
    }

2 个答案:

答案 0 :(得分:0)

我和你有同样的问题。我正在从drawables加载URI,无论它是什么动画都没有。

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

另外,添加此标志intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

非常重要

答案 1 :(得分:0)

Twitter支持循环GIF。如果您的动画GIF没有循环并播放一次,它将显示为静态图像。