Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:HTML附件未与电子邮件一起发送_Java_Android_Android Intent - Fatal编程技术网

Java Android:HTML附件未与电子邮件一起发送

Java Android:HTML附件未与电子邮件一起发送,java,android,android-intent,Java,Android,Android Intent,我正在用模拟器开发一个应用程序,其中包括一个电子邮件发送工具。电子邮件需要有一个HTML附件。HTML文件正在应用程序的缓存区域中创建,我已验证它是否存在,内容是否正确。该文件位于中 /data/data/<package name>/cache/temp_file.html 我还使用了一个内容提供者,它在清单中声明如下- <provider android:name="<package>.CacheFileProvider"

我正在用模拟器开发一个应用程序,其中包括一个电子邮件发送工具。电子邮件需要有一个HTML附件。HTML文件正在应用程序的缓存区域中创建,我已验证它是否存在,内容是否正确。该文件位于中

/data/data/<package name>/cache/temp_file.html
我还使用了一个内容提供者,它在清单中声明如下-

    <provider
        android:name="<package>.CacheFileProvider"
        android:authorities="<my authority>"
        android:enabled="true"
        android:exported="true"
        android:grantUriPermissions="true"
    />
和一个附加的HTML部分。但是我在收到的邮件中没有看到任何附加的HTML。我得到的只是一张单人票

Content-Type: text/plain
更新:

我决定忘记使用Gmail客户端应用程序。只需直接发送文件(加上附件),无需用户干预。此页面包含您需要的所有信息


这可能是因为电子邮件应用程序无法从您的私人空间获取它。试着把它放在外部存储上。

总之,我的答案是不使用intent,通过编程发送电子邮件完全绕过Gmail客户端应用程序。无论如何,这是我喜欢的方式。 我跟着导游来到这里


我认为这就是在意图中授予权限的全部意义所在。另外,外部存储可能不可用,而内部存储始终可用。@AndrewFielden我的意思是作为测试。如果您使用内容提供程序,您应该不需要使其具有全球可读性,但如果您这样做,则只需将普通文件uri置于跳过提供程序阶段,而不是发送
content://
uri。还请阅读此问题:因为它可能有助于解决使用提供程序时的其他潜在问题。好的,谢谢,我会尝试一下。我发现有点失望的是,系统中完全没有错误指示。它只是默默地失败了。
Content-Type: multipart/alternative 
Content-Type: text/plain