示例#1
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            return(SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
            //return base.OpenUrl(app, url, options);
        }
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var urlOptions = new UIApplicationOpenUrlOptions(options);

            return(Facebook.CoreKit.ApplicationDelegate.SharedInstance.OpenUrl(app, url, urlOptions.SourceApplication, urlOptions.Annotation) ||
                   VKontakte.VKSdk.ProcessOpenUrl(url, urlOptions.SourceApplication));
        }
示例#3
0
        public void OpenApplicationSettings()
        {
            var options = new UIApplicationOpenUrlOptions();

            options.OpenInPlace = true;
            UIApplication.SharedApplication.OpenUrl(new NSUrl(UIApplication.OpenSettingsUrlString), options, (obj) => { });
        }
示例#4
0
        public bool EnableBluetooth()
        {
            NSUrl bluetoothUrl = NSUrl.FromString("App-Prefs:root=Bluetooth");
            NSUrl locationUrl  = NSUrl.FromString("App-Prefs:root=LOCATION");

            if (CoreLocation.CLLocationManager.LocationServicesEnabled == false)
            {
            }

            if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
            {
                UIApplication.SharedApplication.OpenUrl(bluetoothUrl);
                UIApplication.SharedApplication.OpenUrl(locationUrl);
            }
            else
            {
                UIApplicationOpenUrlOptions options = new UIApplicationOpenUrlOptions();
                options.OpenInPlace = true;
                UIApplication.SharedApplication.OpenUrl(bluetoothUrl, options, null);
                UIApplication.SharedApplication.OpenUrl(locationUrl, options, null);
            }


            return(true);

            /*
             * var bluetoothManager = new CoreBluetooth.CBCentralManager();
             * // Does not go directly to bluetooth on every OS version though, but opens the Settings on most
             * UIApplication.SharedApplication.OpenUrl(new NSUrl("App-Prefs:root=Bluetooth"));
             * if (CoreLocation.CLLocationManager.LocationServicesEnabled == false)
             *  UIApplication.SharedApplication.OpenUrl(new NSUrl("App-Prefs:root=LOCATION"));
             */
        }
示例#5
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions    = new UIApplicationOpenUrlOptions(options);
            var facebookDidHandle = ApplicationDelegate.SharedInstance.OpenUrl(app, url, openUrlOptions.SourceApplication, openUrlOptions.Annotation);
            var googleDidHandle   = SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation);

            return(googleDidHandle || facebookDidHandle);
        }
        void OpenPushNotificationSettings_iOS10()
        {
            var options = new UIApplicationOpenUrlOptions
            {
                SourceApplication = "com.minnick.formspushnotificationsample"
            };

            UIApplication.SharedApplication.OpenUrl(new NSUrl(UIApplication.OpenSettingsUrlString), options, null);
        }
示例#7
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);
            var googleResponse = Google.SignIn.SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation);

            var facebookResponse = Facebook.CoreKit.ApplicationDelegate.SharedInstance.OpenUrl(app, url, options);

            return(googleResponse || facebookResponse);
        }
示例#8
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions  = new UIApplicationOpenUrlOptions(options);
            var facebookOptions = new NSDictionary <NSString, NSObject>(
                options.Keys.Select(key => (NSString)key).ToArray(),
                options.Values);

            return(Google.SignIn.SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation) ||
                   Facebook.CoreKit.ApplicationDelegate.SharedInstance.OpenUrl(app, url, facebookOptions));
        }
        private void HandleReturnFromFacebook(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            Facebook.CoreKit.ApplicationDelegate.SharedInstance.OpenUrl(
                app,
                url,
                openUrlOptions.SourceApplication,
                openUrlOptions.Annotation);
        }
示例#10
0
        public static bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            if (currentHandler != null)
            {
                return(currentHandler.SignIn.HandleUrl(url, openUrlOptions.SourceApplication, options));
            }
            return(SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, options));
        }
示例#11
0
        //public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
        //{
        //    return ApplicationDelegate.SharedInstance.OpenUrl(application, url, sourceApplication, annotation);
        //}

        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            string ValidaUrl = Convert.ToString(url);

            if (ValidaUrl.Contains("fb2334937976732556"))
            {
                var openUrlOptions = new UIApplicationOpenUrlOptions(options);
                return(ApplicationDelegate.SharedInstance.OpenUrl(app, url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
            }
            else
            {
                var openUrlOptions = new UIApplicationOpenUrlOptions(options);
                return(SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
            }
        }
示例#12
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.


            //Botón Web View
            btnVisorWeb1.TouchUpInside += delegate {
                WKWebView Webview = new WKWebView(View.Frame, new WKWebViewConfiguration()); //una nueva instancia que ocupa toda la pantalla y se le asigna configuración.
                View.AddSubview(Webview);                                                    //Se agrega directamente a la vista.
                var url     = new NSUrl("https://www.raywenderlich.com/ios/");
                var request = new NSUrlRequest(url);
                Webview.LoadRequest(request);
            };

            //Botón Web en Safari Services
            btnVisorWeb2.TouchUpInside += delegate {
                //Invocar a safiri services o invocar al navegador safari
                var url    = new NSUrl("https://www.raywenderlich.com/4919757-your-first-ios-and-swiftui-app");
                var safari = new SFSafariViewController(url); //invoca el services de safari.
                PresentViewController(safari, true, null);    //Aqui se invoca al navegador del dispositivo safari services.
            };

            //Botón Web Safari IOS
            btnVisorWeb3.TouchUpInside += delegate {
                //Aqui la aplicación queda en segundo plano

                var Url    = new NSUrl("https://www.raywenderlich.com/1320561-machine-learning-in-ios");
                var Opcion = new UIApplicationOpenUrlOptions();
                Opcion.OpenInPlace = true;
                UIApplication.SharedApplication.OpenUrl(Url, Opcion, null);
            };

            btnDocumentos.TouchUpInside += delegate {
                Elementos = new List <Elemento>()
                {
                    //Instancia a la clase Elemento
                    new Elemento("Power Point", NSUrl.FromFilename("Docs/uno.ppt")),
                    new Elemento("Word", NSUrl.FromFilename("Docs/dos.docx")),
                    new Elemento("Excel", NSUrl.FromFilename("Docs/tres.xlsx"))
                };

                Controlador            = new QLPreviewController(); //Se crea una nueva instancia.
                Controlador.DataSource = new OrigenDatos(Elementos);
                PresentViewController(Controlador, true, null);     //SEle arga el controlador.
            };
        }
示例#13
0
        //// For iOS 9 or newer
        //public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        //{
        //    var openUrlOptions = new UIApplicationOpenUrlOptions(options);
        //    return SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation);
        //}

        //// For iOS 8 and older
        //public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation)
        //{
        //    return SignIn.SharedInstance.HandleUrl(url, sourceApplication, annotation);
        //}



        //For iOS 9 or newer
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            if (FacebookLogin.IsFacebookLogin)
            {
                FacebookLogin.IsFacebookLogin = false;
                var openUrlOptions = new UIApplicationOpenUrlOptions(options);
                return(Facebook.CoreKit.ApplicationDelegate.SharedInstance.OpenUrl(app, url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
            }
            if (GoogleLogin.IsGoogleLogin)
            {
                GoogleLogin.IsGoogleLogin = false;
                var openUrlOptions = new UIApplicationOpenUrlOptions(options);
                return(SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
            }

            return(false);
        }
示例#14
0
        void OpenLinkInApp(AppType appType)
        {
            var appUrl = GetAppUrl(appType);

            if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
            {
                var options = new UIApplicationOpenUrlOptions
                {
                    SourceApplication = "com.minnick.xammedia"
                };

                UIApplication.SharedApplication.OpenUrl(appUrl, options, null);
            }
            else
            {
                UIApplication.SharedApplication.OpenUrl(appUrl);
            }
        }
示例#15
0
        private Task <bool> LaunchSafari(Uri uri)
        {
            var app = UIApplication.SharedApplication;

            if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
            {
#pragma warning disable XI0002 // Notifies you from using newer Apple APIs when targeting an older OS version
                var options = new UIApplicationOpenUrlOptions();
                return(app.OpenUrlAsync(uri, options));

#pragma warning restore XI0002 // Notifies you from using newer Apple APIs when targeting an older OS version
            }

#pragma warning disable XI0003 // Notifies you when using a deprecated, obsolete or unavailable Apple API
            var result = app.OpenUrl(uri);
            return(Task.FromResult(result));

#pragma warning restore XI0003 // Notifies you when using a deprecated, obsolete or unavailable Apple API
        }
示例#16
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var keys = new UIApplicationOpenUrlOptions(options);

            if (keys?.SourceApplication == "com.tencent.mqq")
            {
                return(TencentOAuth.HandleOpenURL(url));
            }

            /*
             * var values = new List<NSObject>(options.Values).Select(x => x.ToString()).ToList();
             * if (values.Contains("com.tencent.mqq"))
             * {
             *  return TencentOAuth.HandleOpenURL(url);
             * }
             */

            return(base.OpenUrl(app, url, options));
        }
示例#17
0
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            return(OpenUrl(app, url, openUrlOptions.SourceApplication, options));
            ////var openUrlOptions = new UIApplicationOpenUrlOptions(options);
            ////return OpenUrl(app, url, openUrlOptions.SourceApplication, options);

            //var urlString = url.AbsoluteString;
            //if (urlString.Contains("login-callback"))
            //{
            //	// Convert NSUrl to Uri
            //	var uri = new Uri(url.AbsoluteString);
            //	// Load redirectUrl page
            //	AuthenticationState.Authenticator.OnPageLoading(uri);
            //}

            //// todo: other urls

            //return true;
        }
 bool openUrlGoogle(UIApplication app, NSUrl url, UIApplicationOpenUrlOptions openUrlOptions)
 {
     return(SignIn.SharedInstance.HandleUrl(url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
 }
        public bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            return(openUrlGoogle(app, url, openUrlOptions) || openUrlFacebook(app, url, openUrlOptions));
        }
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var options1 = new UIApplicationOpenUrlOptions(options);

            return(Firebase.iOS.GIDSignIn.SharedInstance.HandleURL(url, options1.SourceApplication, options1.Annotation));
        }
示例#21
0
 bool openUrlFacebook(UIApplication app, NSUrl url, UIApplicationOpenUrlOptions openUrlOptions)
 {
     return(ApplicationDelegate.SharedInstance.OpenUrl(app, url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
 }
示例#22
0
 bool openUrlFacebook(UIApplication app, NSUrl url, UIApplicationOpenUrlOptions openUrlOptions) => false;
        // For iOS 9 or newer
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            return(SignIn.SharedInstance.HandleUrl(url));
        }
        void ConfigureView()
        {
            // Update the user interface for the detail item
            if (IsViewLoaded && DetailItem != null)
            {
                if (DetailItem.ImageName != null)
                {
                    ImageViewStyleSetting();
                    detailImageView.Image = Common.Common.FromUrl(DetailItem.ImageName);
                }
                Title = NSBundle.MainBundle.LocalizedString("No. " + DetailItem._id, DetailItem._id);
                //detailDescriptionLabel.Text = DetailItem._id + DetailItem.Variety +
                //"-" + DetailItem.Name + "\n 我很乖~帶我回家好嗎~";
                lbName.Text = DetailItem.Name == "" ? "我需要一個新名字" : DetailItem.Name;
                lbNote.Text = DetailItem.Note == "" ? "無特殊備註一定很乖" : DetailItem.Note;
                string ImgPath = DetailItem.Sex == "雄" ? "boy.png" : "girl.png";
                sexImg.Image = UIImage.FromFile(ImgPath);


                var attr = new CTStringAttributes()// CTStringAttributes()
                {
                    UnderlineStyle = CTUnderlineStyle.Double,
                };
                lbLocation.AttributedText = new NSMutableAttributedString(DetailItem.Resettlement, attr);
                string urlLocation = "";
                for (int i = 0; i < locations.Length; i++)
                {
                    if (DetailItem.Resettlement.Contains(locations[i]))
                    {
                        if (i == 0)
                        {
                            lbLocation.Text = DetailItem.Resettlement.Replace(" ", "\n");
                            urlLocation     = DetailItem.Resettlement.Split()[0];
                        }
                        else
                        {
                            urlLocation     = locations[i];
                            lbLocation.Text = locations[i];
                        }
                    }
                    else
                    {
                        lbLocation.Text = DetailItem.Resettlement;
                        urlLocation     = DetailItem.Resettlement;
                    }
                    break;
                }

                UITapGestureRecognizer tgrLabel = new UITapGestureRecognizer(() => {
                    var uri    = new Uri("http://maps.apple.com/?q=" + urlLocation);
                    var mapUrl = new NSUrl(uri.GetComponents(UriComponents.HttpRequestUrl, UriFormat.UriEscaped));
                    //NSUrl mapUrl = NSUrl.FromString("http://maps.apple.com/?q="+urlLocation);
                    UIApplicationOpenUrlOptions option = new UIApplicationOpenUrlOptions()
                    {
                        OpenInPlace = true
                    };
                    UIApplication.SharedApplication.OpenUrl(mapUrl, option, null);
                });
                lbLocation.AddGestureRecognizer(tgrLabel);
                lbLocation.UserInteractionEnabled = true;

                //var attributedString = new NSAttributedString("Hello, world",
            }
        }
示例#25
0
        // Support for iOS 9 or later
        public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
        {
            var openUrlOptions = new UIApplicationOpenUrlOptions(options);

            return(OpenUrl(app, url, openUrlOptions.SourceApplication, openUrlOptions.Annotation));
        }
 bool openUrlGoogle(UIApplication app, NSUrl url, UIApplicationOpenUrlOptions openUrlOptions) => false;