コード例 #1
0
        public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
            UIApplication.SharedApplication.SetMinimumBackgroundFetchInterval(UIApplication.BackgroundFetchIntervalMinimum);
            try
            {
                var loginDA = new LoginDA(Sqlite_IOS.DB.dataBase);
                InvokeOnMainThread(delegate
                {
                    if (loginDA.GetInfoUsuario() == null)
                    {
                        autenticado = false;
                    }
                    else
                    {
                        autenticado = true;
                    }
                });
            }
            catch (Exception)
            {
                autenticado = false;
            }
            finally
            {
#if !DEBUG
                var manager = BITHockeyManager.SharedHockeyManager;
                manager.Configure("642401fb0ca946e5ab22ab2c69cb2cb2");
                manager.CrashManager.CrashManagerStatus = BITCrashManagerStatus.AutoSend;
                manager.StartManager();
#endif

                if (!autenticado)
                {
                    var loginViewController = GetViewController(MainStoryboard, "Login") as LoginController;
                    SetRootViewController(loginViewController, false);
                }
                else
                {
                    var modelPDV = new MenuPdvsModel
                    {
                        dbGenericActivity = new GenericActDA(Sqlite_IOS.DB.dataBase),
                        dbPdvs            = new MenuPdvsDA(Sqlite_IOS.DB.dataBase)
                    };
                    InvokeOnMainThread(
                        delegate
                    {
                        modelPDV.infoUsuario = modelPDV.dbGenericActivity.GetUsersIDsLogged();
                        var visita           = modelPDV.dbPdvs.GetVisitaAtual();
                        if (visita != null)
                        {
                            if (visita.Count > 0)
                            {
                                var TarefasViewController = GetViewController(MainStoryboard, "TarefasController") as TarefasController;
                                SetRootViewController(TarefasViewController, false);
                            }
                        }
                    });

#if !DEBUG
                    if (modelPDV != null && modelPDV.infoUsuario[0] != null)
                    {
                        manager.UserId    = modelPDV.infoUsuario[0].ID;
                        manager.UserEmail = modelPDV.infoUsuario[0].SERVIDOR;
                        manager.StartManager();
                    }
#endif
                }
            }
            UNUserNotificationCenter.Current.GetNotificationSettings((settings) =>
            {
                if (settings.AlertSetting != UNNotificationSetting.Enabled)
                {
                    UNUserNotificationCenter.Current.RequestAuthorization(UNAuthorizationOptions.Alert, (approved, err) => { });
                }

                if (settings.BadgeSetting != UNNotificationSetting.Enabled)
                {
                    UNUserNotificationCenter.Current.RequestAuthorization(UNAuthorizationOptions.Badge, (approved, err) => { });
                }

                if (settings.SoundSetting != UNNotificationSetting.Enabled)
                {
                    UNUserNotificationCenter.Current.RequestAuthorization(UNAuthorizationOptions.Sound, (approved, err) => { });
                }
            });

            var authorizationStatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);

            if (authorizationStatus != AVAuthorizationStatus.Authorized)
            {
                AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video);
            }

            UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
            LocationHelper.UpdateLocation();
            return(true);
        }