2013-05-29 4 views
3

다음 코드를 사용하여 Android의 기본 이메일 클라이언트를 호출하여 이메일을 보낼 수 있음을 알고 있습니다.
일반 텍스트 지원 전자 메일 클라이언트에서 줄 바꿈을하려면 "\n"을 사용해야하지만 HTML 지원 전자 메일 클라이언트에서는 줄 바꿈을하려면 "<br/>"을 사용해야합니다.
어떤 종류의 이메일 클라이언트가 지원되는지 어떻게 알 수 있습니까? 감사!어떤 종류의 이메일 클라이언트가 지원되는지 어떻게 알 수 있습니까?

Intent emailIntent=new Intent(Intent.ACTION_SEND);   

String subject = "Your sms sent by email"; 
String body = "aa"+"<br/>"+"bb"; 

String[] extra = new String[]{"[email protected]"}; 
emailIntent.putExtra(Intent.EXTRA_EMAIL, extra); 

emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
emailIntent.putExtra(Intent.EXTRA_TEXT, body); 
emailIntent.setType("message/rfc822"); 

startActivity(emailIntent); 

답변

1

당신은 EXTRA_TEXTEXTRA_HTML_TEXT 있습니다.

둘 다 일반 텍스트로 채우고 두 번째 텍스트는 HTML로 채 웁니다.

사용자 클라이언트가 html을 지원하면 형식이 표시되지 않으면 html 버전이 표시됩니다.

EXTRA_TEXT는 표준에서 필요하며 항상 제공해야합니다. html 버전은 선택 사항입니다.

낮은 API의 경우 지원 라이브러리에 ShareCompat.IntentBuilder이 있습니다.

편집 :

좀 테스트를하고 EXTRA_HTML_TEXT 완전히 무시됩니다 것 같습니다.

This answer은 html 이메일을 보내는 방법을 설명합니다. 사용자 클라이언트가 HTML을 지원하지 않으면 모든 HTML 태그에서 똑같은 메시지가 제거됩니다.

+0

고마워요! EXTRA_HTML_TEXT에는 API minSdkVersion 16이 필요합니다. 이제 내 앱은 8 –

+0

업데이트입니다. 필요한 경우 샘플 코드를 제공 할 수도 있지만 사용 방법에 문제가 있어서는 안됩니다. – Gustek

+0

샘플 코드를 제공해 주시겠습니까? 감사합니다. –

관련 문제