안드로이드 개발 질문/답변
(글 수 45,052)
1.
Intent intent = new Intent(Intent.ACTION_SEND);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("image/jpg");
uri=Uri.parse(img_addr);
intent.putExtra(Intent.EXTRA_STREAM, uri );
mContext.startActivity(Intent.createChooser(intent, "Send mail"));
Gmail을 이용해서 메일전송했습니다.
웹에있는 이미지를 이런방법으로
첨부까지 했는데
실제로 받은 메일을 확인해보니
이미지가 첨부가 안되어있네요.
어디에 문제가 있는건지 알고싶습니다.
2.
intent.setType("text/html");로 설정한 상태에서
BASE64로 인코딩한 이미지를 본문에 그대로 넣으려고하니
obj라는 글만뜨고 이미지가 뜨지않는데
본문에 <img src="그림주소">같은형식으로 했을때
이미지가 뜨게 할 수 있는 방법은 없나요?




원하시는 답이 될런지는 모르겠지만... 저도 비슷한 문제가 있어서 이리 저리 찾아보았습니다.
구글링을 해 보니 아래 링크에서 힌트를 얻었습니다.
http://stackoverflow.com/questions/3997229/sending-png-attachment-via-android-gmail-app
ContentsProvider에 이미지를 넣고 첨부 하는 방식입니다. 아래 코드는 Camera 폴더에 캡쳐한 이미지가 저장됩니다.
갤러리에서 확인이 가능 하죠! .. 저장할 필요가 없기 때문에 제 코드에서는 Activity가 Destroy 될때 제거 하도록 했습니다.
Gmail 앱에서 ContentsProvider가 아닌 첨부파일은 무시 하는 경향(? ... 로그에서도 확인 할 수 있습니다.)이 있는 것 같습니다.
String path = Images.Media.insertImage(getContentResolver(), 첨부할 Bitmap, 파일명, null);
URI srcImgUri = Uri.parse(path);
mIntent.putExtra(Intent.EXTRA_STREAM, srcImgUri);
다른 방법이 있으시면 공유 부탁드립니다.
즐프하세요!