Example #1
0
        /// <summary>
        /// Shows the native MFMailComposeViewController to send an email.
        /// Raises MailCompleted event when completed.</summary>
        ///
        /// <param name="recipients"> An array of strings representing the email addresses of the recipients.</param>
        /// <param name="subject"> The subject of the email.</param>
        /// <param name="body"> The body of the email.</param>
        /// <param name="bodyIsHTML"> True if the body is HTML; false otherwise.</param>
        /// <param name="image"> The image to attach to the email.</param>
        /// <param name="checkServiceAvailable"> Whether to check if the service is available first.</param>
        /// <returns> True if it is able to show the native view controller; false if it cannot send email.</returns>
        public static bool Mail(string[] recipients, string subject, string body, bool bodyIsHTML, UIImage image, bool checkServiceAvailable)
        {
            if (checkServiceAvailable && !MFMailComposeViewController.CanSendMail())
            {
                return(false);
            }

            var vc = new MFMailComposeViewController();

            if (vc.IsNil)
            {
                return(false);
            }

            vc.mailComposeDelegate = MailComposeViewControllerDelegate.instance;
            vc.SetToRecipients(recipients);
            vc.SetSubject(subject);
            vc.SetMessageBody(body, bodyIsHTML);

            if (image != null)
            {
                var nsdata = image.PNGRepresentation();
                vc.AddAttachmentData(nsdata, "image/png", "image.png");
            }

            UIApplication.deviceRootViewController.PresentViewController(vc, true, null);
            return(true);
        }
Example #2
0
        /// <summary>
        /// Shows the native MFMailComposeViewController to send an email.
        /// Raises MailCompleted event when completed.</summary>
        /// 
        /// <param name="recipients"> An array of strings representing the email addresses of the recipients.</param>
        /// <param name="subject"> The subject of the email.</param>
        /// <param name="body"> The body of the email.</param>
        /// <param name="bodyIsHTML"> True if the body is HTML; false otherwise.</param>
        /// <param name="image"> The image to attach to the email.</param>
        /// <param name="checkServiceAvailable"> Whether to check if the service is available first.</param>
        /// <returns> True if it is able to show the native view controller; false if it cannot send email.</returns>
        public static bool Mail(string[] recipients, string subject, string body, bool bodyIsHTML, UIImage image, bool checkServiceAvailable)
        {
            if (checkServiceAvailable && !MFMailComposeViewController.CanSendMail())
                return false;

            var vc = new MFMailComposeViewController();
            if (vc.IsNil)
                return false;

            vc.mailComposeDelegate = MailComposeViewControllerDelegate.instance;
            vc.SetToRecipients(recipients);
            vc.SetSubject(subject);
            vc.SetMessageBody(body, bodyIsHTML);

            if (image != null) {
                var nsdata = image.PNGRepresentation();
                vc.AddAttachmentData(nsdata, "image/png", "image.png");
            }

            UIApplication.deviceRootViewController.PresentViewController(vc, true, null);
            return true;
        }
Example #3
0
        /// <summary>
        /// Exports an UIImage in PNG format to Photos album.
        /// Raises ExportCompleted or ExportFailed events on completion.
        /// </summary>
        /// <param name="image">Image.</param>
        public static void ExportPNG(UIImage image)
        {
            NSData data = image.PNGRepresentation();

            assetsLibrary.WriteImageDataToSavedPhotosAlbum(data, new Dictionary <object, object>(), _OnWriteCompletion);
        }
Example #4
0
 /// <summary>
 /// Exports an UIImage in PNG format to Photos album.
 /// Raises ExportCompleted or ExportFailed events on completion.
 /// </summary>
 /// <param name="image">Image.</param>
 public static void ExportPNG(UIImage image)
 {
     NSData data = image.PNGRepresentation();
     assetsLibrary.WriteImageDataToSavedPhotosAlbum(data, new Dictionary<object, object>(), _OnWriteCompletion);
 }