【问题标题】:which mime type to use ,to attach ".zip" file in Gmail使用哪种 mime 类型,在 Gmail 中附加“.zip”文件
【发布时间】:2011-09-28 19:40:15
【问题描述】:

我需要附加一个“.zip”文件并使用 Gmail 服务发送电子邮件。

我正在使用以下代码来执行此操作:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType(application/x-compressed);
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{abc@gmail.com});
intent.putExtra(Intent.EXTRA_STREAM,         
Uri.parse(abc.zip);
intent.putExtra(Intent.EXTRA_TEXT, "hello..");

如果我使用“application/x-compressed”mime 类型,我可以发送“.zip”附件,但我无法直接启动 Gmail 作曲家,在此之前它会提供选项列表。

如果我使用“message/rfc822”mime 类型,我可以直接启动 Gmail 编写器,但无法附加“.zip”文件。

Pl。帮助我如何将这两种 mime 类型组合在一个意图对象中。 PL。让我知道是否有其他方法可以做到这一点。 谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    这对我有用 -

    intent.setType("application/zip, application/octet-stream, application/x-zip-compressed, multipart/x-zip")
    

    this answer 中找到的 Mime 类型

    【讨论】:

      【解决方案2】:

      intent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");

      直接打开 Gmail。但是如果没有安装 gmail 会导致异常,ActivityNotFound

      【讨论】:

        【解决方案3】:

        我正在使用此代码并且可以正常工作。检查这个:

        Intent email = new Intent(Intent.ACTION_SEND);
        email.putExtra(Intent.EXTRA_EMAIL, new String[]{"Example@gmail.com"});        
        email.putExtra(Intent.EXTRA_SUBJECT, "subject//@@");
        email.putExtra(Intent.EXTRA_TEXT, "message//@@");
        email.setType("message/rfc822");
        Uri uri = Uri.parse("sdcard/1.zip");
        email.putExtra(Intent.EXTRA_STREAM, uri);
        startActivity(Intent.createChooser(email, "Choose an Email client :")); 
        

        【讨论】:

          猜你喜欢
          • 2011-05-23
          • 2017-05-18
          • 2011-10-22
          • 2013-02-13
          • 2010-10-25
          • 1970-01-01
          • 2011-08-21
          • 2012-05-28
          • 2019-09-05
          相关资源
          最近更新 更多