在电子邮件意向的Android嵌入HTML表标签(Embed html table tag in e

2019-10-20 04:28发布

我的工作中,我要嵌入电子邮件body.I尝试围绕一些代码工作它的正常工作在2.2和2.3 OS版本,但相同的代码是不是在最新的操作系统版本那样工作4.0等HTML表格标签的概念

我也试过Spannable and Html.fromHtml()但它也不能正常工作。

这里是我的代码是工作在2.2和2.3的操作系统版本:

//SEND EMAIL
    private void sendEmail(String imageUri) throws WriterException{
        //....................Prepare share email data............................. 
        int itemNumber=0;
        titleBuffer=new StringBuffer();

        titleBuffer.append("<html><body><table border="+"1"+"><tr border="+"0"+"><th>Item number</th>"+
                "<th>Barcode</th>"+"<th>Product name</th>"+"<th>Quantity</th></tr>");
        for(int i=0;i<_productList.size();i++){
            itemNumber=i+1;
            titleBuffer.append("<tr border="+"0"+"><td>"+itemNumber+"</td>"+
                    "<td>"+_productList.get(i).getProductBarcode()+"</td>"+"<td>"+_productList.get(i).getProductName()+"</td>"+
                    "<td>"+_productList.get(i).getProductQuantity()+"</td></tr>");

            /*titleBuffer.append("<tr border="+"0"+"><td>"+itemNumber+"</td>"+
                    "<td>"+_productList.get(i).getProductBarcode()+"</td>"+"<td>"+_productList.get(i).getProductName()+"</td>"+
                    "<td>"+_productList.get(i).getProductQuantity()+"</td>"+"<td>"+
                    "<img src="+"/'data:image/png;base64, "+generateBarcodeImage(GenerateBarcode.encodeAsBitmap(_productList.get(i).getProductBarcode(), 
                            BarcodeFormat.CODE_128, 600, 300))+"/'/></td></tr>");*/
        }

        titleBuffer.append("</table></body></html>");

        SpannedString bar = new SpannedString(titleBuffer.toString());

        if(_productList.size()==0){
            titleBuffer.append("NA");
        }
        //..........................................................................

        Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
        emailIntent.setType("text/html");
        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,"");
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Shopping List");
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,titleBuffer.toString());
        emailIntent.putExtra(Intent.EXTRA_STREAM, emailImageUri);
        startActivity(Intent.createChooser(emailIntent, "Send mail..."));
    }

还可以找到附加的图像这证明它在2.2和2.3的操作系统版本的工作。

Answer 1:

尝试下面的代码: -

final Intent shareIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "The Subject");
shareIntent.putExtra(
Intent.EXTRA_TEXT,
Html.fromHtml(new StringBuilder()
    .append("<p><b>Some Content</b></p>")
    .append("<small><p>More content</p></small>")
    .toString())
);

更多信息请参见下面的链接: -

机器人-如何格式化文本表中的电子邮件客户端的电子邮件正文

如何发送HTML电子邮件

http://blog.iangclifton.com/2010/05/17/sending-html-email-with-android-intent/



Answer 2:

这取决于电子邮件客户端正在处理它。 不是所有的电子邮件客户端支持所有HTML tags.Atleast Gmail不支持它。 它仅适用于基本的标签一样, <b> <i> etc.It不适用于特别是工作<img>标签。

看到这些帖子所以更多的信息,

使用<TABLE>等发送HTML电子邮件中的Android -真的没有相对内置的意图呢?

Android的,如何发送HTML邮件,并迫使Android的通过G-邮件没有其他应用程序发送?

如何通过Android的默认的电子邮件客户端图像发送HTML内容?



文章来源: Embed html table tag in email intent android