使用 Glide 共享文件
Share file using Glide
我正在尝试共享 GIF 文件。我想通过任何社交网络应用程序分享它,但文件名有问题。我不知道如何获取名称文件。这是我的代码:
llsetwallpapers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// set as wallpapers
lt.setText("Please Wait ...");
lt.setTranslationY(100);
lt.show();
Glide.with(getApplicationContext())
.load(url)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<?super Bitmap> glideAnimation) {
File file = new File file = new File(getApplicationContext().getExternalCacheDir() , namefile)
file.setReadable(true);
Uri uri = Uri.fromFile(file);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/gif");
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(shareIntent, "Share with"));
}
});
}
});
您尝试解决的问题在 github issues 中进行了讨论,其中 Róbert Papp 提供了一个示例实现,用于共享 Glide 下载的文件。
您的关键部分是获取对 File
的引用。这可以通过 downloadOnly()
:
来完成
File file = Glide
.with(context)
.load(url)
.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.get()
有了 File
,您可以使用 FileProvider
API 来共享文件。
我正在尝试共享 GIF 文件。我想通过任何社交网络应用程序分享它,但文件名有问题。我不知道如何获取名称文件。这是我的代码:
llsetwallpapers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// set as wallpapers
lt.setText("Please Wait ...");
lt.setTranslationY(100);
lt.show();
Glide.with(getApplicationContext())
.load(url)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<?super Bitmap> glideAnimation) {
File file = new File file = new File(getApplicationContext().getExternalCacheDir() , namefile)
file.setReadable(true);
Uri uri = Uri.fromFile(file);
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/gif");
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(shareIntent, "Share with"));
}
});
}
});
您尝试解决的问题在 github issues 中进行了讨论,其中 Róbert Papp 提供了一个示例实现,用于共享 Glide 下载的文件。
您的关键部分是获取对 File
的引用。这可以通过 downloadOnly()
:
File file = Glide
.with(context)
.load(url)
.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.get()
有了 File
,您可以使用 FileProvider
API 来共享文件。