我正在尝试创建一个 byte[]
图像 Intent ,以便与我的 Xamarin.Android 应用程序上的电子邮件应用程序共享。到目前为止,我有以下内容:
public void ShareAsync(byte[] image, string message)
{
if (string.IsNullOrEmpty(message) || image == null)
return;
var sharingIntent = new Intent();
sharingIntent.SetAction(Intent.ActionSend);
sharingIntent.SetType("image/*");
sharingIntent.PutExtra(Intent.ExtraStream, image);
sharingIntent.AddFlags(ActivityFlags.GrantReadUriPermission);
Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity.StartActivity(Intent.CreateChooser(sharingIntent, message));
}
这会弹出共享对话框,我可以单击电子邮件应用程序,但它返回一封空白电子邮件。
是否可以与电子邮件应用程序共享byte[]
,以便图像显示为正文或附件的一部分?
最佳答案
这取决于电子邮件应用程序是否接受图像作为字节数组,我确信这不适用于大多数电子邮件应用程序,因为您无法在其中放入大量数据 Intent 。它的大小限制为 1 MB 数据,因此在任何情况下都无法传递大于 1 MB 的字节数组,即使电子邮件应用程序支持此类图像共享也是如此。
所以简短的回答是没有办法。
关于c# - 如何创建旨在通过电子邮件共享的 byte[] 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44948223/