Я разрабатываю одно почтовое клиентское приложение на Android, используя JavaMail. Я читаю сообщение с сервера и показываю тело сообщения в TextView. если любое электронное письмо имеет html тело, то содержимое не отображается должным образом в TextView это приходит как обычный текст. Чтобы показать содержимое html, я написал следующий код:
mbody=(TextView)findViewById(R.id.mbody);
mbody.setText(Html.fromHtml(str));
mbody.setMovementMethod(LinkMovementMethod.getInstance());
Есть ли какой-либо элемент управления или способ показать тело письма как html вместе со встроенным изображением?
Мои коды:
for (int x = 0; x < multipart.getCount(); x++) {
BodyPart bodyPart = multipart.getBodyPart(x);
//Integer ctr = MainActivity.maxSlno();
String disposition = bodyPart.getDisposition();
if (disposition != null && (disposition.equals(BodyPart.ATTACHMENT))) {
System.out.println("Mail have some attachment : ");
Log.i("snt", "33");
DataHandler handler = bodyPart.getDataHandler();
File root =contx.getFilesDir() ;//Environment.getExternalStorageDirectory();
String path = root.getPath() + "/" + handler.getName();//+ "/PSattachment.psz";
File savedFile = new File(path);
String destFilePath = path;//.getFileName();
MainActivity.addAttachment(id, path);
FileOutputStream output = new FileOutputStream(destFilePath);
InputStream input = bodyPart.getInputStream();
byte[] buffer = new byte[4096];
int byteRead;
while ((byteRead = input.read(buffer)) != -1) {
output.write(buffer, 0, byteRead);
}
output.close();
System.out.println("file name : " + handler.getName());
} else {
Log.i("snt", "44");
String str;//=bodyPart.toString();//(bodyPart.getContent());
if(bodyPart instanceof Part) {
if(bodyPart.getContent() instanceof String)
{
str=bodyPart.getContent().toString();
}
else {
MimeMultipart mimeMultipart = (MimeMultipart) bodyPart.getContent();
str = getTextFromMimeMultipart(mimeMultipart);
}
}
else
str=bodyPart.getContent().toString();
Log.i("snt", str);
body=str;
detail_mail.mbody.setText(Html.fromHtml(str));
MainActivity.updateBody(str,id);
}
}
Заранее благодарим за помощь.