2017-02-08 14 views

答えて

-2

私はこの問題に問題がありました。解決策を見つけるのに数時間かかるものの、その後はうまくいくはずです。コードは、フォルダを作成し、あなたの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> 

にこのコードを挿入し

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

あなたの活動に

(あなたは、オープンソースのピカソライブラリを必要とします) "res"フォルダに "xml"という名前を付けて、そこに "provider_paths"という名前のxml-resource-file provider_paths.xmlに次の行を書きます。

<paths> 
    <cache-path name="name" path="." /> 
</paths> 
関連する問題