android - 如何在android中阅读消息内容时显示从java.mail接收的css和html标签

标签 android html css jakarta-mail

我正在使用此代码段将消息内容转换为可读文本,但它以 CSSHTML 标记的形式返回文本 我使用了 webview 显示文本,但图像和文本格式不存在,我该如何实现。

 private String getText(Part p) throws MessagingException, IOException {
    if (p.isMimeType("text/*")) {
        String s = (String)p.getContent();
        textIsHtml = p.isMimeType("text/html");
        return s;
    }

    if (p.isMimeType("multipart/alternative")) {
        // prefer html text over plain text
        Multipart mp = (Multipart)p.getContent();
        String text = null;
        for (int i = 0; i < mp.getCount(); i++) {
            Part bp = mp.getBodyPart(i);
            if (bp.isMimeType("text/plain")) {
                if (text == null)
                    text = getText(bp);
                continue;
            } else if (bp.isMimeType("text/html")) {
                String s = getText(bp);
                if (s != null)
                    return s;
            } else {
                return getText(bp);
            }
        }
        return text;
    } else if (p.isMimeType("multipart/*")) {
        Multipart mp = (Multipart)p.getContent();
        for (int i = 0; i < mp.getCount(); i++) {
            String s = getText(mp.getBodyPart(i));
            if (s != null)
                return s;
        }

    }

    return null;
}

输出是这样的

TRANSACTIONS RECEIPT body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0; padding: 0; } table { border-collapse: collapse; } table, th, td { border: none; padding: 0; } /** Mobile Device **/ @media screen and (max-width:600px) { table[class='full-width'] { width:100% !important; } } /** Mobile Device End **/       

总金额 ¥96 是否有差异?联系我们。

最佳答案

要保持 html 源的格式,您可以使用:

Html.fromHtml("", Html.FROM_HTML_MODE_LEGACY, new Html.ImageGetter() {
        @Override
        public Drawable getDrawable(String source) {
            return null;
        }
    }, new Html.TagHandler() {
        @Override
        public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {

        }
    });

这将处理文本样式、图像等...

关于android - 如何在android中阅读消息内容时显示从java.mail接收的css和html标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50507189/

相关文章:

android - 无法预览捕获的高质量图像

android - Eclipse 说需要更新的 ADT 版本,但找不到更新

javascript - 具有 nth-of-type 的 CSS 部分选择器

自定义html元素上的javascript覆盖

css - 在 Chrome 中使用 font-face 时出现奇怪的字长问题

安卓牛轧糖 : Detected problems with app native libraries

android:如何获得从服务到 Activity 的回调?

javascript - 如果验证失败,如何在 Php 中停止重定向?

使用 for() 找到的子字符串的 Javascript 警报总和

php - 将标题保留在动态网站上