Поделиться файлом на Android Oreo - PullRequest
0 голосов
/ 03 октября 2018

Я сейчас занимаюсь разработкой приложения и пытаюсь поделиться файлом, но решения, которые я нашел на форумах, не работают.Код выглядит примерно так:

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);
    }

}

Кажется, что провайдер файлов работает нормально, и он также работает в предыдущих версиях, но когда я пытаюсь отправить электронное письмо, ему не удается прикрепить файл к нему.Спасибо заранее за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...