我最近注意到,在分享我从应用生成的动画.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"));
}
答案 0 :(得分:0)
我和你有同样的问题。我正在从drawables加载URI,无论它是什么动画都没有。
我通过实现自定义file provider并从assets文件夹中加载了GIF来解决了我的问题。
另外,添加此标志intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
答案 1 :(得分:0)
Twitter支持循环GIF。如果您的动画GIF没有循环并播放一次,它将显示为静态图像。