ответ

-2

У меня возникла проблема с этой проблемой, и мне стоило часов найти решение, но следующее должно работать. (Вы нуждаетесь в Open-Source Пикассо Library)

код в вашей деятельности

Picasso.with(context) 
.load("http://...") 
    .into(new Target() { 
      @Override 
      public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
        try { 

         File myDir = new File(getCacheDir() + "/pictureToShare.jpg"); 
         FileOutputStream out = new FileOutputStream(myDir); 
         bitmap.compress(Bitmap.CompressFormat.JPEG, 80, out); 

         out.flush(); 
         out.close(); 



         } catch(Exception e){ 
         // some action 
              } 
      } 

@Override 
public void onBitmapFailed(Drawable errorDrawable) { 
    } 

@Override 
public void onPrepareLoad(Drawable placeHolderDrawable) { 
    } 
        } 


); 



File requestFile = new File(getCacheDir() + "/pictureToShare.jpg"); 

Uri imageUri = FileProvider.getUriForFile(YourActivity.this, 
     getPackageName() + ".share", requestFile); 


     Intent share = new Intent(Intent.ACTION_SEND); 
     share.setPackage("com.whatsapp"); 
     share.setType("image/jpg"); 
     share.putExtra(Intent.EXTRA_TEXT,"Your text"); //to share text 
     share.putExtra(Intent.EXTRA_STREAM, imageUri);   //to share image 
     share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
     try { 
     startActivity(share); 
     } catch (android.content.ActivityNotFoundException ex) { 
     startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.whatsapp"))); 
     } 

Вставьте этот код в ваш AndroidManifest.xml

<provider 
android:name="android.support.v4.content.FileProvider" 
android:authorities="${applicationId}.share" 
android:exported="false" 
android:grantUriPermissions="true"> 
    <meta-data 
     android:name="android.support.FILE_PROVIDER_PATHS" 
     android:resource="@xml/provider_paths"/> 
</provider> 

Создать папку с именем «xml» в вашей папке «res» и там есть xml-ресурс-файл с именем «provider_paths», Напиши следующие строки в поставщике_трассы.xml

<paths> 
    <cache-path name="name" path="." /> 
</paths> 
Смежные вопросы