我正在尝试发送带有 Android 意图的 .png 文件。我已尝试将此文件保存在具有 WorldReadable 权限的内部存储中,现在已保存到外部存储中。当我打开 GMail 客户端时,我的附件就在那里。但是,在 Microsoft Exchange 或 Outlook 应用程序中,附件不会出现,我必须手动添加它。
我正在使用 Xamarin.Android (MonoDroid),但任何 Java 解决方案也会有所帮助。这是我发送带有意图的电子邮件的代码。
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setType("image/png"); // I also tried 'application/image'
intent.setData(Android.Net.Uri.Parse("mailto:" + address ?? string.Empty));
if (!string.isNullOrEmpty (attachment)) {
intent.putExtra (Android.Content.Intent.EXTRA_STREAM, Android.Net.Uri.fromFile(new Java.IO.File (Android.OS.Environment.getExternalStorageDirectory(), attachment)));
}
try {
_Context.startActivity(intent);
}catch(ActivityNotFoundException anfe) {
//Show prompt
}
我不确定为什么附件只显示在 GMail 中。我需要内容提供商吗?奇怪的是它只出现在 GMail 中而不是任何其他邮件应用程序中。