使用Glide共享文件

时间:2017-06-01 21:03:10

标签: android android-glide android-intent-chooser

我试图分享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"));
                        }
                    });
        }
    });

1 个答案:

答案 0 :(得分:0)

github issues讨论了您要解决的问题,其中RóbertPapp提供了一个共享Glide下载文件的示例实现。

关键部分 - 是获取对File的引用。可以使用downloadOnly()

来完成

    File file = Glide
                    .with(context)
                    .load(url)
                    .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                    .get()

拥有File,您可以使用FileProvider API来共享文件。