android - 如何在 Android 上使用 Glide 共享下载的 GIF
问题描述
我想与 Glide 分享下载的 GIF。但是如果我分享 GIF,它只会发送一个文件,而不是一个 GIF。我不知道如何解决这个问题c,可以请任何人帮助我吗?
这是我的代码:
class ShareTask extends AsyncTask<String, Void, File> {
private final Context context;
Uri uri;
public ShareTask(Context context) {
this.context = context;
}
@Override protected File doInBackground(String... params) {
String url = params[0]; // should be easy to extend to share multiple images at once
try {
// Glide v3
return Glide
.with(context)
.load(url)
.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.get() // needs to be called on background thread
;
} catch (Exception ex) {
Log.w("SHARE", "Sharing " + uri + " failed", ex);
return null;
}
}
@Override protected void onPostExecute(File result) {
if (result == null) { return; }
uri = getUriForFile(ViewFeedActivity.this, "com.codepath.fileprovider", result);
runOnUiThread(new Runnable() {
@Override
public void run() {
share(uri); // startActivity probably needs UI thread
}
});
}
private void share(Uri result) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/GIF");
intent.putExtra(Intent.EXTRA_TEXT, "Share");
intent.putExtra(Intent.EXTRA_STREAM, result);
context.startActivity(Intent.createChooser(intent, "Share image"));
}
}
解决方案
推荐阅读
- android - Android Jetpack Compose 本地化问题
- flutter - 如何在小部件颤动中使用具有可见性的 FutureBuilder
- assembly - 使用 mips32 程序集的数组中的最大元素
- npm - 纱线的嵌套依赖项解析未显示在 yarn.lockfile 中
- scala - 使用 sbt 将 Scala 与 Hive 数据库连接起来,使用 IntelliJ 进行依赖
- python - 如何告诉 pandas_datareader 不要四舍五入?
- export - 从 Azure Sql 数据库副本中删除数据同步元数据
- php - CakePHP - 锚类不改变(未定义的变量 $action)
- python - 需要帮助绘制带有一些基本数据的热图
- dictionary - 将键值对添加到 Julia 语言字典中的现有键中