2017-02-03 4 views
2

ShareCompat.IntentBuilder을 사용하여 전자 메일 응용 프로그램을 통해 텍스트를 공유하려고하지만 HTML 태그 (예 : <b>Some text</b>)는 무시됩니다. 일반 텍스트를 보여줍니다. `ShareCompat.IntentBuilder`를 사용하여 굵은 전자 메일 본문 텍스트를 설정할 수 없습니다

final String messageBody = "<b>Hello, Google!</b>"; 
final ShareCompat.IntentBuilder intentBuilder = ShareCompat.IntentBuilder.from(fragment.getActivity()) 
     .setType("text/html") 
     .setSubject("Subject") 
     .setHtmlText(messageBody) 
     .setChooserTitle("Choose e-mail application:"); 
fragment.startActivity(intentBuilder.createChooserIntent()); 

나는 Gmail을Mail.Ru 이메일 클라이언트로 테스트.

그것은 단지 API 16/17에 나를 위해 작동하지만, API 19과 이상을 작동하지 않습니다.

Nexus 5 - KitKat 4.4

+0

** Outlook **을 사용해 보았는데 제대로 작동합니다. 일부 이메일 앱이 HTML 텍스트를 올바르게 처리하지 않는 것처럼 보입니다. 다른 아이디어? –

답변

1

그것은 당신이 모든 메일 클라이언트에 대해 원하는 것을 달성하는 것은 불가능하다.

다른 전자 메일 클라이언트는 전자 메일을 다르게 처리하므로 (다른 HTML 전 처리기를 사용함). HTML을 HTML로 변환하여 자신의 이메일 클라이언트의 HTML에 표시하는 것이 안전해야합니다. 이것은 놀랍게도 어려운 일이며 대부분의 웹 기반 이메일 클라이언트의 선처리 프로세서는 지나치게 제한적인 측면에서 오류를 일으키고 전자 메일 클라이언트의 레이아웃에 영향을 미치지 않는 사소한 문제도 제거합니다.