2017-06-01 2 views
-1

Je suis en train de partager le fichier GIF. Je veux le partager via les applications de réseaux sociaux, j'ai un problème avec le nom du fichier. Je ne sais pas comment obtenir le fichier de noms. Ceci est mon code:Partager le fichier en utilisant Glide

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")); 
         } 
        }); 
     } 
    }); 

Répondre

0

Le problème que vous essayez de résoudre est discuté à github issues, où Róbert Papp a fourni un exemple d'implémentation pour le partage d'un fichier téléchargé par Glide.

La partie clé pour vous - est d'obtenir une référence à la File. Cela peut se faire avec downloadOnly():

 

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

Avoir un File, vous pouvez utiliser FileProvider API afin de partager le fichier.