void Share (Service service, StringElement button) { Item item = new Item { Text = "I'm sharing great things using Xamarin!", Links = new List<Uri> { new Uri ("http://xamarin.com"), }, }; UIViewController vc = service.GetShareUI (item, shareResult => { dialog.DismissViewController (true, null); button.GetActiveCell().TextLabel.Text = service.Title + " shared: " + shareResult; }); dialog.PresentViewController (vc, true, null); }
public override bool FinishedLaunching (UIApplication app, NSDictionary options) { var root = new RootElement ("Xamarin.Social Sample"); var section = new Section ("Services"); var facebookButton = new StringElement ("Share with Facebook"); facebookButton.Tapped += delegate { try { Share (Facebook, facebookButton); } catch (Exception ex) { ShowMessage("Facebook: " + ex.Message); } }; section.Add (facebookButton); var twitterButton = new StringElement ("Share with Twitter"); twitterButton.Tapped += delegate { try { Share (Twitter, twitterButton); } catch (Exception ex) { ShowMessage("Twitter: " + ex.Message); } }; section.Add (twitterButton); var twitter5Button = new StringElement ("Share with built-in Twitter"); twitter5Button.Tapped += delegate { try { Share (Twitter5, twitter5Button); } catch (Exception ex) { ShowMessage("Twitter5: " +ex.Message); } }; section.Add (twitter5Button); var flickr = new StringElement ("Share with Flickr"); flickr.Tapped += () => { var picker = new MediaPicker(); // Set breakpoint here picker.PickPhotoAsync().ContinueWith (t => { if (t.IsCanceled) return; var item = new Item ("I'm sharing great things using Xamarin!") { Images = new[] { new ImageData (t.Result.Path) } }; Console.WriteLine ("Picked image {0}", t.Result.Path); UIViewController viewController = Flickr.GetShareUI (item, shareResult => { dialog.DismissViewController (true, null); flickr.GetActiveCell().TextLabel.Text = "Flickr shared: " + shareResult; }); dialog.PresentViewController (viewController, true, null); }, TaskScheduler.FromCurrentSynchronizationContext()); }; section.Add (flickr); root.Add (section); dialog = new DialogViewController (root); window = new UIWindow (UIScreen.MainScreen.Bounds); window.RootViewController = new UINavigationController (dialog); window.MakeKeyAndVisible (); return true; }