我最近注意到,在分享我从我的应用生成的动画 .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/