public async void Share(string subject, string message, ImageSource image) { //await CheckAppPermissions(); try { var intent = new Intent(Intent.ActionSend); //intent.PutExtra(Intent.ExtraSubject, subject); intent.PutExtra(Intent.ExtraText, message); intent.SetType("image/png"); var handler = new ImageLoaderSourceHandler(); var bitmap = await handler.LoadImageAsync(image, this); /* * var path = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.png"); * * using (var os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) * { * bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); * } * intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(path)); * Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); * */ /* * string documentPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData); * string folderName = "CurrentApp"; * var folderPath = System.IO.Path.Combine(documentPath, folderName); * System.IO.Directory.CreateDirectory(folderPath); * string fName = "Download.pdf"; * var localPath = System.IO.Path.Combine(folderPath, fName); * using (var os = new System.IO.FileStream(localPath, System.IO.FileMode.Create)) * { * bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); * } * intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile((Java.IO.File)localPath)); * Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); */ //var path = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.png"); var path = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.png" + System.DateTime.Now.Ticks.ToString()); using (var os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) { bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); } intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(path)); Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); } catch (System.Exception ex) { PrintLog.PublishLog(ex); } }