0

XMLリソースからベクターイメージを読み取り、それをImageViewに表示しています。大丈夫です。 これで、イメージをintent.putExtraでIntentに渡す必要があります。 質問:ベクトルXMLをビットマップに変換する方法、またはImageViewから画像を取得する方法はありますか? .getDrawingCache()、.getDrawable、getImageMatrixなどを試しましたが、動作しません。XMLリソースのベクトルイメージからビットマップを取得する方法

この方法を試しました:

String path = MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), 
      imgPrevisao.getDrawingCache(), 
      "Minha previsão",null); 

    Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
    sharingIntent.setType("image/*"); 
    sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(path)) ; 
    getApplicationContext().startActivity(Intent.createChooser(sharingIntent, "Share with")); 

そして、このよう:

Intent intent = new Intent(Intent.ACTION_SEND); 

    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
    intent.putExtra(Intent.EXTRA_TEXT, textoPrevisao); 
    intent.putExtra(Intent.EXTRA_STREAM, imgPrevisao.getDrawingCache()); 
    intent.setType("image/*"); 
    startActivity(intent); 

TIA、

アンドレ・コレア

+0

public static void shareImageViewContent(ImageView view) { Bitmap bitmap = ((BitmapDrawable)view.getDrawable()).getBitmap(); Intent sharingIntent = new Intent(Intent.ACTION_SEND); sharingIntent.setType("image/jpeg"); sharingIntent.putExtra(Intent.EXTRA_STREAM, getImageUri(bitmap)) ; context.startActivity(Intent.createChooser(sharingIntent, "Share with")); } 

もう少し複雑な解決策はFileProvider クレジットを使用することです。画像ビューからビットマップを取得するためのかなり標準的な操作です。 – greenapps

+0

このインテントはアプリケーション内で処理する必要がありますか? – j2ko

+0

greenapps、申し訳ありません、何のようなもの?私はAndroidを開発することで新しいです。 –

答えて

0

は方法の一つは、MediaStoreを使用することです:

public static Uri getImageUri(Context context, Bitmap bmp) { 
    String path = MediaStore.Images.Media.insertImage(context.getContentResolver(), , "share_title",bmp ,null); 
    return Uri.parse(path); 
} 

とより:そのような何かが動作するはずlinklinklink

+0

j2koありがとう、私はそれを試してみます。あなたの答えをアップアップするのに十分な評判はありません。申し訳ありません。 –

+0

@AndréAranhanp、私は助けてうれしいです。しかし私はあなたの答えを – j2ko

+0

として私の解決策をマークすることができたと思うそれは動作しません。私はまだ試しています。私が試したことを投稿します。 –

関連する問題