Android - 如何通过电子邮件发送表格

时间:2016-05-09 06:17:27

标签: android html android-studio

我想通过电子邮件将表发送到特定的邮件ID,我想从phpmysql中检索数据作为表格格式

我不知道将表发送到邮件。我已经尝试过这些链接,请你发送一些不同的链接:

  • android - 如何将文本格式化为电子邮件客户端的电子邮件正文中的表格

  • 在电子邮件意图android中嵌入html表标签 - Stack Overflow

  • 如何在Android应用程序中发送电子邮件中的Html表 - Stack Overflow

  • 在Android中使用等发送html电子邮件 - 是否真的没有相对内置的Intent方式?

1 个答案:

答案 0 :(得分:1)

尝试下面的代码: 注意:您只能将html作为附件发送(而非电子邮件内容)

private void shareFile(String subject,String body,String fileContent) {
    Intent share = new Intent(android.content.Intent.ACTION_SEND);
    share.setType("text/html");
    share.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);

    // Add data to the intent, the receiving app will decide
    // what to do with it.
    File tempFile ;
    try {
        File sdCard = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
        File tempDir = new File (sdCard.getAbsolutePath() + "/temp-sample");

        AppWebViewClient.deleteDirectoryFiles(tempDir); //delete temp files
        tempDir.mkdirs();
        tempFile = File.createTempFile("sample-records", ".html", tempDir);
        FileOutputStream fout = new FileOutputStream(tempFile);
        tempDir.setReadable(true, false);
        tempFile.setReadable(true, false);
        Uri uri = Uri.fromFile(tempFile.getAbsoluteFile());
        share.putExtra(Intent.EXTRA_STREAM, uri);
        fout.write(fileContent.getBytes());
        fout.close();
    } catch (IOException e) {
        e.printStackTrace();
    }       
    share.putExtra(Intent.EXTRA_SUBJECT, subject);
    share.putExtra(Intent.EXTRA_TEXT,Html.fromHtml(new StringBuilder().append(body).toString()));
    // share.putExtra(Intent.EXTRA_TEXT, body);

    context.startActivity(Intent.createChooser(share, "Share Records!"));
}