我当前正在开发一个应用程序,并且试图共享文件,但是我在论坛中找到的解决方案无法正常工作。代码看起来像这样:
public Task Show(string title, string subject, string filePath,string contentType)
{
var intent = new Intent(Intent.ActionSend);
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.O) {
Java.IO.File file = new Java.IO.File("content://" + filePath);
Android.Net.Uri androidNUri = FileProvider.GetUriForFile(context, "my.app.fileprovider", file);
intent.PutExtra(Intent.ExtraStream, androidNUri);
}
else
{
var uri = Android.Net.Uri.Parse("file://" + filePath);
intent.PutExtra(Intent.ExtraStream, uri);
}
intent.PutExtra(Intent.ExtraText, string.Empty);
intent.PutExtra(Intent.ExtraSubject, subject ?? string.Empty);
intent.SetType(contentType);
var chooserIntent = Intent.CreateChooser(intent, title ?? string.Empty);
chooserIntent.SetFlags(ActivityFlags.ClearTop);
chooserIntent.SetFlags(ActivityFlags.NewTask);
chooserIntent.SetFlags(ActivityFlags.GrantReadUriPermission);
context.StartActivity(chooserIntent);
return Task.FromResult(true);
}
}
文件提供程序似乎工作正常,并且在以前的版本中也可以工作,但是当我尝试发送电子邮件时,它无法将文件发送给它。 预先感谢您的帮助。