0

Android-Universal-Image-Loaderを使用して画像を共有する方法 imageloaderを通じて読み込まれた画像ビューを持っていますが、画像ローダーにURLを提供しています。画像ローダーは既にURLからディスクへ画像を書き込んだ後、それを表示しましたAndroid-Universal-Image-Loaderを使用して画像を共有するには?

ディスクに書き直すことなくどのように共有できますか?

item_zoom_image_viewはImageViewの selectedItemImageあるURLが含ま性質があるクラスです

ここに私の画像ローダーの設定である(http://...を。):

public void initImageLoader(Context context) { 
    DisplayImageOptions options = new DisplayImageOptions.Builder() 
      .cacheOnDisc().imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) 
      .bitmapConfig(Bitmap.Config.RGB_565) 
      .build(); 

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
      context).threadPriority(Thread.NORM_PRIORITY - 2) 
      .denyCacheImageMultipleSizesInMemory() 
      .discCacheFileNameGenerator(new Md5FileNameGenerator()) 
      .defaultDisplayImageOptions(options) 
      .memoryCache(new WeakMemoryCache()) 
      .denyCacheImageMultipleSizesInMemory() 
      .tasksProcessingOrder(QueueProcessingType.LIFO).build(); 

    imgLoader = ImageLoader.getInstance(); 
    imgLoader.init(config); 
} 

、ここでは、私は、画像を表示する方法でありますここで

ImageLoader imgLoader = AppData.imgLoader; 
if (!selectedItemImage.getImageURL().trim().equals("")) { 
    imgLoader.displayImage(selectedItemImage.getImageURL(), item_zoom_image_view, new ImageLoadingListener() { 
     @Override 
     public void onLoadingStarted(String imageUri, View view) { 
      Progress.ShowProgressDialog(true); 
      currentImageURI = ""; 
     } 

     @Override 
     public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 
      item_zoom_image_view.setImageResource(R.drawable.ic_artificial_flowers); 
      Progress.HideProgressDialog();; 
      currentImageURI = ""; 
     } 

     @Override 
     public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
      Progress.HideProgressDialog();; 
      currentImageURI = imageUri; 
     } 

     @Override 
     public void onLoadingCancelled(String imageUri, View view) { 
      item_zoom_image_view.setImageResource(R.drawable.ic_artificial_flowers); 
      Progress.HideProgressDialog();; 
      currentImageURI = ""; 
     } 
    }); 
} 
else 
{ 
    item_zoom_image_view.setImageResource(R.drawable.ic_artificial_flowers); 
    Progress.HideProgressDialog();; 
    currentImageURI = ""; 
} 

は、私がイメージを共有する方法である:

void ShareImg() { 
    try { 
     Uri bmpUri = Uri.parse(currentImageURI); 
     if (bmpUri != null) { 
      // Construct a ShareIntent with link to image 
      Intent shareIntent = new Intent(); 
      shareIntent.setAction(Intent.ACTION_SEND); 
      shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri); 
      shareIntent.setType("image/*"); 
      // Launch sharing dialog for image 
      startActivity(Intent.createChooser(shareIntent, "Share Image")); 
     } else { 
      // ...sharing failed, handle error 
     } 
    } catch (Exception e) { 

    } 
} 

問題は(currentImageURI)の画像を表示しながら、私が撮ったURIが正しくないか、私は知りませんが、それはあなたが共有するストレージにビットマップを保存する必要が

答えて

0

黒画像を示しているということですそれ。イメージローダーがURLからダウンロードするキャッシュイメージを共有できません

@Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap 
    loadedImage) { 
     Progress.HideProgressDialog();; 
     currentImageURI = imageUri; 
       loadedImage 
//save it in storage then share 
    } 
+0

なぜですか?私はイメージローダーがすでに正しいと思われるimageUriを供給しているので、ロードされたイメージを共有するために使うことができます。私は共有に追加された方法を使用して(私はちょうど私の質問を更新) –

関連する問題