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

Java 为什么Twitter应用程序不共享动画GIF?,java,android,android-intent,Java,Android,Android Intent,我最近注意到,当共享我的应用程序生成的动画.gif时,官方Twitter应用程序只会将其作为静态图像共享 以前,我认为一切都正常,因为当我与一个非官方Twitter应用程序(Tweetcaster)共享同一类型的动画.gif时,它正确地将其作为动画.gif共享 我想问的是,这是我这边的问题还是官方推特应用程序的问题?我这样问是因为当与官方Twitter应用程序共享Android Gallery中的动画.gif时,它也会以静态.gif的形式发布 下面是有问题的代码: public void sha

我最近注意到,当共享我的应用程序生成的动画.gif时,官方Twitter应用程序只会将其作为静态图像共享

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

我想问的是,这是我这边的问题还是官方推特应用程序的问题?我这样问是因为当与官方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"));
    }

我和你有同样的问题。我正在从drawables加载URI,不管它是不是动画

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


另外,添加这个标志
intent.addFlags(intent.flag\u GRANT\u READ\u URI\u PERMISSION)也是非常重要的

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

您是否测试过将
setType
设置为显式
intent.setType(“image/GIF”)
?很可能是推特应用程序影响了事情的发展。选择其他共享选项,查看是否将动画GIF作为输出——如果是,那么很明显是Twitter应用程序。@JamesKrawczyk我会尝试,我希望解决方案如此简单。@JamesKrawczyk刚刚尝试过,将mimeType设置为image/GIF-结果相同。官方Twitter应用程序发布了一个静态图像。我也有同样的问题。我试着用一个不同的应用程序在Twitter上分享,同样的事情也发生了。无法共享“Gif”文件。可能是Twitter应用程序的bug?