Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 한강 #야경 #한강야경
- 윈도우즈 비스타
- lagom
- 폴안티
- svn
- Subversion
- java8 람다식
- windows vista
- 폴-안티스파이앱
- 명주
- 라곰
- 폴-안티 스파이앱
- 폴안티 스파이앱
- 썬
- 설치
- volatile
- 책상
- 모니터
- 폴안티스파이앱
- CVS
- 정통춘천닭갈비
- lagom framework
- 차이점
- Lambda Expressions
- 라곰프레임워크
- TortoiseSVN
- 스파이앱
- 폴-안티
- selenium #scraping #webscraping #jsoup #firefox
- 스포티지r 풀체인지
Archives
- Today
- Total
장발의 개발러
Intent를 이용하여 Email, MMS에 파일 첨부하여 전송 요청하기 본문
원문: Intent를 이용하여 Email, MMS에 파일 첨부하여 전송 요청하기
Intent.ACTION_SEND를 이용하여 Email, MMS 앱에 파라메터를 번들형태로 넘겨서 해당 액티비티를 호출하는 것이 가능하다.
Email의 경우 아래와 같이 하면 된다.
Intent i=new Intent(Intent.ACTION_SEND);
i.addCategory(Intent.CATEGORY_DEFAULT);
// for EMail
// mimetype
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, "제목입니다.");
i.putExtra(Intent.EXTRA_TEXT, "본문이구요 ....");
i.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"user1@website.com"});
i.putExtra(Intent.EXTRA_CC, new String[]{"user_cc1@website.com", user_cc2@website.com"});
i.putExtra(Intent.EXTRA_BCC, new String[]{"user_bcc1@website.com"});
// 파일 첨부
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/mic_rec3.wav"));
// 앱선택 박스를 띄움.
startActivity(Intent.createChooser(i, "How do you want to send message?"));
MMS의 경우는 아래와 같이 Extra정보를 설정한다.
// for MMS
i.putExtra("address", "07011111111;01022222222");
i.putExtra("exit_on_sent", true);
i.putExtra("sms_body", "MMS 테스트입니다.");
startActivity(Intent.createChooser(i, "How do you want to send message?"));
앱선택박스를 띄우지 않고 바로 특정 앱(MMS, GMail)으로 바로 연결되도록 하려면 해당하는 액티비티 Component를 Intent에 등록하면 된다.
// com.google.android.gm 패키지의 ComposeActivityGmail 액티비티를 명시적으로 기입해도 될듯~!
i.setComponent(new ComponentName("com.google.android.gm","com.google.android.gm.ComposeActivity"));
그러나 위와 같이 하면 permission에러가 나면서 해당 액티비티가 호출되지 않는다.
권한문제를 피해가기 위해 Intent.createChooser()를 이용하여 해당 액티비티로 연결하도록 되어 있다.
이를 피하기 위해서는 권한 문제가 없는 자체적인 Mail client나 MMS client를 직접 작성해야 할것으로 보인다.
그러나 이 문제도 권한문제로 인해 구현이 불가할 수 있다.