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, 죄송합니다. 무엇인가요? 나는 안드로이드 개발에 새로운 사람입니다. –

답변

0

하나는 사용하는 것입니다 MediaStore :

및 이상 23,353,: link는, link는, 그런 link

+0

j2ko, 고맙습니다. 나는 당신의 대답을 회상하기에 충분한 평판을 얻지 못했습니다, 미안 해요. –

+0

@ AndréAranha np, 기꺼이 도와 드리겠습니다. 하지만 내 솔루션은 대답 – j2ko

+0

으로 표시 할 수 있다고 생각합니다. 작동하지 않습니다. 나는 아직도 노력하고있어. 나는 내가 시도한 것을 게시 할 것이다. –