我有一个程序,它总是将相同的文件附加到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方式”会正常工作。
有没有人知道它是做什么的,这样我就可以复制了?
提前感谢!
OBS:已经多次尝试putExtra(流、路径),但没有成功。
下面是如何修复它。
转到设置-
请参见以下问题:
android-6-cannot-share-files-more
这种行为适用于Android 6.0和Gmail。请参阅以下线程。
第3141期-android开发者预览
如果您转到“设置”-
在这种情况下,Gmail应该申请“存储”许可,它将像在所有以前版本的Android中一样工作。
其他电子邮件应用程序应正确处理附件。
好的,在经过大量研究和拦截一些意图后,现在它开始工作了。
我要做的是将文件:///更改为内容:///。
我是根据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。。。
问题内容: 我该怎么做才能将其附加到文件中而不是覆盖? 问题答案: 使用附加: