마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

첨부파일을 포함하여 이메일보내기

+1 추천

 

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
String[] address = {"test@naver.com"};
intent.putExtra(Intent.EXTRA_EMAIL, address);
intent.putExtra(Intent.EXTRA_SUBJECT, "제목");
intent.putExtra(Intent.EXTRA_TEXT, "보낼 내용");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(Environment.getExternalStorageDirectory().toString() + "/Android/data/" + fileName)); //파일 첨부
startActivity(intent);

위와같은 코드를 작성하여 이메일을 보내려고 하는데요

실행을 해보면 Gmail앱이 실행되고 로그인을 한후

제목과 내용은 코드와 동일하게 삽입되었는데

파일을 첨부할 수 없습니다.

라는 메세지가 표시됩니다

 

그래서 앱에서 Gmail앱을 실행하지않고

Gmail앱을 직접 실행하고 동일한 경로의 동일한 파일을 첨부하여 보냈는데 성공했습니다

제 코드에 파일을 첨부하여 메일보내는것에 문제가 있는거같아요

파일위치는 내부저장소로 되어있습니다

구글링해보면 대부분 외부저장소를 사용하던데

내부저장소에있는 파일을은 전송이 안되는건가요??

멈추지말고천천히 (380 포인트) 님이 2018년 9월 13일 질문

1개의 답변

+1 추천
 
채택된 답변
1. ContentsProvider를 작성한후

openFile() 함수를 재정의하세요

2. Manifest.xml에 provider를 추가 하세요

3. 내부저장소에있는 파일을 복사하여 캐시저장소에 저장하세요

4. 캐시저장소에 공개파일을 사용하면 됩니다.

 

출근후 질문을 작성하였는데

스스로 답변을 찾고 해결했습니다 많은도움되시길
멈추지말고천천히 (380 포인트) 님이 2018년 9월 13일 답변
...