public void postImageOnFacebook(UIImage image)
        {
            if (SLComposeViewController.IsAvailable(SLServiceKind.Facebook))
            {
                SLComposeViewController composerVC = SLComposeViewController.FromService(SLServiceKind.Facebook);
                composerVC.SetInitialText("Wikitude Snapshot");
                composerVC.AddImage(image);

                _presentingVC.PresentViewController(composerVC, true, null);

                composerVC.CompletionHandler += (result) => {
                    InvokeOnMainThread(() => {
                        NSString resultString = new NSString("");
                        switch (result)
                        {
                        case SLComposeViewControllerResult.Cancelled:
                            resultString = new NSString("Failed to post on Facebook");
                            break;

                        case SLComposeViewControllerResult.Done:
                            resultString = new NSString("Successfully posted on Facebook");
                            break;

                        default:
                            break;
                        }

                        UIAlertView alert = new UIAlertView("Screen shot", resultString, null, "OK", null);
                        alert.Show();
                    });
                };
            }
        }
Ejemplo n.º 2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            TweetButton.TouchUpInside += delegate {
                slComposer = SLComposeViewController.FromService(SLServiceType.Twitter);

                if (Screenshot.Image != null)
                {
                    slComposer.AddImage(Screenshot.Image);
                }

                slComposer.CompletionHandler += (result) => {
                    slComposer.DismissViewController(true, null);
                };
                PresentViewController(slComposer, true, null);
            };

            PostButton.TouchUpInside += delegate {
                slComposer = SLComposeViewController.FromService(SLServiceType.Facebook);

                if (Screenshot.Image != null)
                {
                    slComposer.AddImage(Screenshot.Image);
                }

                slComposer.CompletionHandler += (result) => {
                    slComposer.DismissViewController(true, null);
                };
                PresentViewController(slComposer, true, null);
            };

            #region Menu Buttons
            CloseButton.TouchUpInside += delegate {
                UIApplication.SharedApplication.SetStatusBarHidden(false, UIStatusBarAnimation.Fade);
                DismissViewController(true, null);
            };

            PrevBtn.TouchUpInside += delegate {
                SwipeImage("Right");
            };

            NextBtn.TouchUpInside += delegate {
                SwipeImage("Left");
            };
            #endregion

            #region Gesture Recognizers
            UITapGestureRecognizer tapGesture = new UITapGestureRecognizer();
            tapGesture.NumberOfTapsRequired = 1;
            tapGesture.AddTarget(this, new Selector("MenuDisplay"));
            Screenshot.AddGestureRecognizer(tapGesture);

            UISwipeGestureRecognizer swipeLeftGesture = new UISwipeGestureRecognizer();
            swipeLeftGesture.AddTarget(this, new Selector("SwipeLeftGesture"));
            swipeLeftGesture.Direction = UISwipeGestureRecognizerDirection.Left;
            View.AddGestureRecognizer(swipeLeftGesture);

            UISwipeGestureRecognizer swipeRightGesture = new UISwipeGestureRecognizer();
            swipeRightGesture.AddTarget(this, new Selector("SwipeRightGesture"));
            swipeRightGesture.Direction = UISwipeGestureRecognizerDirection.Right;
            View.AddGestureRecognizer(swipeRightGesture);

            UISwipeGestureRecognizer swipeDownGesture = new UISwipeGestureRecognizer();
            swipeDownGesture.AddTarget(this, new Selector("SwipeDownGesture"));
            swipeDownGesture.Direction = UISwipeGestureRecognizerDirection.Down;
            View.AddGestureRecognizer(swipeDownGesture);
            #endregion
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            twitterButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Twitter)) {

                    slComposer = SLComposeViewController.FromService (SLServiceType.Twitter);

                    slComposer.SetInitialText ("test");
                    slComposer.AddImage (UIImage.FromFile ("monkey.png"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread (() => {
                            DismissViewController (true, null);
                            resultsTextView.Text = result.ToString ();
                        });
                    };

                    PresentViewController (slComposer, true, null);
                } else {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Facebook)) {

                    slComposer = SLComposeViewController.FromService (SLServiceType.Facebook);

                    slComposer.SetInitialText ("test2");
                    slComposer.AddImage (UIImage.FromFile ("monkey.png"));
                    slComposer.AddUrl (new NSUrl ("http://xamarin.com"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread (() => {
                            DismissViewController (true, null);
                            resultsTextView.Text = result.ToString ();
                        });
                    };

                    PresentViewController (slComposer, true, null);
                } else {
                    resultsTextView.Text = "Facebook Account not added";
                }
            };

            twitterRequestButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Twitter)) {

                    var parameters = new NSDictionary ();
                    var request = SLRequest.Create (SLServiceKind.Twitter,
                                                    SLRequestMethod.Get,
                                                    new NSUrl ("http://api.twitter.com/1/statuses/public_timeline.json"),
                                                    parameters);

                    request.PerformRequest ((data, response, error) => {

                        if (response.StatusCode == 200) {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = data.ToString (); });

                        } else {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString (); });
                        }
                    });
                } else {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookRequestButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Facebook)) {

                    var parameters = new NSDictionary ();
                    var request = SLRequest.Create (SLServiceKind.Facebook,
                                                    SLRequestMethod.Get,
                                                    new NSUrl ("https://graph.facebook.com/283148898401104"),
                                                    parameters);

                    request.PerformRequest ((data, response, error) => {

                        if (response.StatusCode == 200) {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = data.ToString (); });

                        } else {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString (); });
                        }
                    });
                } else {
                    resultsTextView.Text = "Facebook Account not added";
                }

            };
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            twitterButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Twitter))
                {
                    slComposer = SLComposeViewController.FromService(SLServiceType.Twitter);

                    slComposer.SetInitialText("test");
                    slComposer.AddImage(UIImage.FromFile("monkey.png"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread(() => {
                            DismissViewController(true, null);
                            resultsTextView.Text = result.ToString();
                        });
                    };

                    PresentViewController(slComposer, true, null);
                }
                else
                {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Facebook))
                {
                    slComposer = SLComposeViewController.FromService(SLServiceType.Facebook);

                    slComposer.SetInitialText("test2");
                    slComposer.AddImage(UIImage.FromFile("monkey.png"));
                    slComposer.AddUrl(new NSUrl("http://xamarin.com"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread(() => {
                            DismissViewController(true, null);
                            resultsTextView.Text = result.ToString();
                        });
                    };

                    PresentViewController(slComposer, true, null);
                }
                else
                {
                    resultsTextView.Text = "Facebook Account not added";
                }
            };

            twitterRequestButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Twitter))
                {
                    var parameters = new NSDictionary();
                    var request    = SLRequest.Create(SLServiceKind.Twitter,
                                                      SLRequestMethod.Get,
                                                      new NSUrl("http://api.twitter.com/1/statuses/public_timeline.json"),
                                                      parameters);

                    request.PerformRequest((data, response, error) => {
                        if (response.StatusCode == 200)
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = data.ToString();
                            });
                        }
                        else
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString();
                            });
                        }
                    });
                }
                else
                {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookRequestButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Facebook))
                {
                    var parameters = new NSDictionary();
                    var request    = SLRequest.Create(SLServiceKind.Facebook,
                                                      SLRequestMethod.Get,
                                                      new NSUrl("https://graph.facebook.com/283148898401104"),
                                                      parameters);

                    request.PerformRequest((data, response, error) => {
                        if (response.StatusCode == 200)
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = data.ToString();
                            });
                        }
                        else
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString();
                            });
                        }
                    });
                }
                else
                {
                    resultsTextView.Text = "Facebook Account not added";
                }
            };
        }