当前位置: 首页 > 知识库问答 >
问题:

Android将文件附加到GMAIL-无法附加空文件

齐甫
2023-03-14

我有一个程序,它总是将相同的文件附加到GMAIL(撰写

它所做的是:

String path = Environment.getExternalStorageDirectory() + "/file.3gp";
File f = new File(path);
Uri data = Uri.fromFile(f);
Intent i = new Intent();
i.setData(data);
setResult(Activity.RESULT_OK, i);
finish();

在Android 6.0之前,它一直工作良好。现在,我在尝试使用它时收到以下错误:

无法附加空文件

Astro文件共享给我同样的错误(可能是旧版本)。

但是,我安装了ES File Explorer,当我执行相同的例程并选择该文件时,我会收到一个对话框,其中显示:

将文件作为

  • 普通Android方式(适用于彩信、Gmail等)

“文件方式”会像我的程序一样失败。“普通Android方式”会正常工作。

有没有人知道它是做什么的,这样我就可以复制了?

提前感谢!

OBS:已经多次尝试putExtra(流、路径),但没有成功。

共有3个答案

邵研
2023-03-14

下面是如何修复它。

转到设置-

董新觉
2023-03-14

请参见以下问题:

android-6-cannot-share-files-more

这种行为适用于Android 6.0和Gmail。请参阅以下线程。

第3141期-android开发者预览

如果您转到“设置”-

在这种情况下,Gmail应该申请“存储”许可,它将像在所有以前版本的Android中一样工作。

其他电子邮件应用程序应正确处理附件。

籍光熙
2023-03-14

好的,在经过大量研究和拦截一些意图后,现在它开始工作了。

我要做的是将文件:///更改为内容:///。

我是根据Android的信息做的:https://developer.android.com/reference/android/support/v4/content/FileProvider.html

唯一的主要变化是我使用了/sdcard/file的硬编码路径。此外,线路

getUriForFile(getContext(), "com.mydomain.fileprovider", newFile);

已更改为

Uri contentUri = FileProvider.getUriForFile(this, "com.mydomain.fileprovider", newFile);

还必须包括:

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
i.setData(contentUri);

我真的不明白为什么我必须从文件更改为内容,但在此之后,文件现在再次被附加!如果您遇到此问题,请参阅链接,并且不要忘记需要创建的新. xml。

 类似资料:
  • 我的drawable文件夹中有一些图像,还有这些图像的int数组。现在我试图通过gmail发送电子邮件,并从我的可绘图文件夹中附上一张图像,在Android2.3中一切都很好,但在Android4.0中图像的扩展丢失了。我没有找到任何解决办法。下面是我使用的代码。

  • 我有3个维度为(a*2、b*2、c*2)的数据帧,而a、b、c是不同的数字。我想把它们添加到一个csv文件中,但每次都写不出来。我使用了csv的熊猫数据帧输出端 但做不到。 我的代码- 但是,我得到的最终输出是最后一个数据帧,而不是所有其他数据帧。

  • 如何将数据附加到文件的末尾(或开头)?我试着用 但它只写最后一项。

  • 问题内容: 在Linux中将文本附加到文件的最简单方法是什么? 我看了这个问题,但是可接受的答案使用了一个附加程序(),我相信应该有一个更简单的方法或类似方法。 问题答案: cat >> filename This is text, perhaps pasted in from some other source. Or else entered at the keyboard, doesn’t

  • 我试图发送一个附加的json文件到电子邮件,但是由于某种原因,在发送/创建电子邮件时,json文件没有被附加。注意:我不希望用户选择要附加的文件,我希望它被固定/自动设置。 我有以下权限在我的 还有密码 编辑1:在做了@piyushpk建议的建议更改后,我现在在选择电子邮件应用程序时会出现以下错误: 然而,根据我的打印声明,文件大小只有69KB。。。

  • 问题内容: 我该怎么做才能将其附加到文件中而不是覆盖? 问题答案: 使用附加: