在我的应用程序中,我尝试与Intent共享一个Image( Intent.ActionSend )。 对于保证访问,我使用 Fileprovider 来创建文件的Uri。 在Android Nougat下,我的代码可以,但 Marshmallow不是。它没有显示错误,但图像未发送到接收应用程序。 VisualStudio的输出也没有显示错误或类似的东西。
到目前为止,我无法在网上找到任何答案。 Marshmallow有什么问题?
public void SendPhoto(IEnumerable<string> photos, string text)
{
var files = new List<Android.Net.Uri>();
//creates for every photo an own ContentURI
foreach (var path in photos)
{
var file = new Java.IO.File(path);
files.Add(FileProvider.GetUriForFile(Context, "com.testapp.fileprovider", file));
}
//Checks if Photolist are empty
if (!files.Any())
throw new Exception("Photos not found");
Intent intent = new Intent(Intent.ActionSend);
intent.SetFlags(ActivityFlags.GrantReadUriPermission);
intent.SetType("image/jpeg");
intent.PutExtra(Intent.ExtraSubject, "Subject");
intent.PutExtra(Intent.ExtraStream, files.First());
//creates the sharemessage
var shareMessage = files.Count == 1 ? "Send photo from TestApp" : "Send photos from TestApp";
//start Intent chooser
Context.StartActivity(Intent.CreateChooser(intent, shareMessage));
}