Example #1
0
 private void MainPage_Appearing(object sender, System.EventArgs e)
 {
     if (App.notificacionNoticia != null)
     {
         MainPage.Navigation.PushAsync(new NoticiaDetalle(App.notificacionNoticia.data));
         App.notificacionNoticia = null;
     }
 }
Example #2
0
        public App()
        {
            InitializeComponent();
            if (!App.Current.Properties.ContainsKey("DireccionUsuario"))
            {
                App.Current.Properties.Add("DireccionUsuario", App.DireccionUsuario);
            }
            else
            {
                DireccionUsuario = App.Current.Properties["DireccionUsuario"].ToString();
            }
            if (DireccionUsuario != string.Empty)
            {
                MainPage = new NavigationPage(new MainPage());
            }
            else
            {
                MainPage = new NavigationPage(new ConfiguracionInicial());
            }

            MainPage.Appearing += MainPage_Appearing;

            ThreadStart tsNot = new ThreadStart(() => {
                try
                {
                    OneSignal.Current.StartInit((string)(App.Current.Resources["OneSignalId"])).HandleNotificationReceived(async(result) =>
                    {
                        if (result.payload.additionalData.Count > 0 && result.payload.additionalData.ContainsKey("noticia"))
                        {
                            try
                            {
                                await ApiRest.GetAsyncFormData <RootDetalle>((string)(App.Current.Resources["APIRoot"]) + "?id=" + result.payload.additionalData["noticia"])
                                .ContinueWith((task) =>
                                {
                                    try
                                    {
                                        App.notificacionNoticia = ((RootDetalle)task.Result);
                                    }
                                    catch
                                    {
                                    }
                                });
                            }
                            catch
                            { }
                        }
                    }).InFocusDisplaying(Com.OneSignal.Abstractions.OSInFocusDisplayOption.Notification)
                    .EndInit();
                }
                catch
                {
                }
            });
            Thread tNotificaciones = new Thread(tsNot);

            tNotificaciones.Start();

            OneSignal.Current.IdsAvailable((id, token) => {
                PlayerId = id;
                System.Diagnostics.Debug.Write("One Signal Player ID: " + id);
            });
        }