Пример #1
0
        private void httpChannel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)
        {
            // Notificação recebida com o aplicativo aberto
            // Este método é chamado e os dados vem no parâmetro e.Collection (NotificationEventArgs)

            // Página destino
            string relativeUri = string.Empty;

            // Mensagem apresentada ao usuário
            StringBuilder msg = new StringBuilder();

            msg.AppendFormat("Toast Recebido {0}:\n", DateTime.Now.ToShortTimeString());

            // Recupera dados da notificação
            foreach (string key in e.Collection.Keys)
            {
                msg.AppendFormat("{0}: {1}\n", key, e.Collection[key]);

                // Página destino
                if (string.Compare(key, "wp:Param",
                                   System.Globalization.CultureInfo.InvariantCulture,
                                   System.Globalization.CompareOptions.IgnoreCase) == 0)
                {
                    relativeUri = e.Collection[key];
                }
            }

            // Mostra dados da notificação
            Dispatcher.BeginInvoke(() =>
            {
                // Mensagem apresentada ao usuário
                MessageBox.Show(msg.ToString());
                // Atualiza lista de mensagens
                //saveMessageToFile(e.Collection["wp:Text1"], e.Collection["wp:Text2"]);
                using (var dct = new bancoContext(bancoContext.ConnectionString))
                {
                    dct.CreateIfNotExists();
                    dct.Mensagem.InsertOnSubmit(new Mensagem
                    {
                        Texto1 = e.Collection["wp:Text1"],
                        Texto2 = e.Collection["wp:Text2"]
                    });
                    dct.SubmitChanges();
                }
            });
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            // Notificação recebida com o aplicativo fechado
            // Este método é chamado e os dados vem na QueryString
            var dic = NavigationContext.QueryString;

            Mensagem mens = new Mensagem();

            if (dic.ContainsKey("Msg1") && dic.ContainsKey("Msg2"))
            {
                using (var dtc = new bancoContext(bancoContext.ConnectionString))
                {
                    dtc.Mensagem.InsertOnSubmit(new Mensagem {
                        Texto1 = dic["Msg1"],
                        Texto2 = dic["Msg2"]
                    });
                    dtc.SubmitChanges();
                }
            }

            // Atualiza lista de mensagens
            //if (dic.ContainsKey("Msg1")) listMsg.Items.Add(dic["Msg1"]);
            //if (dic.ContainsKey("Msg2")) listMsg.Items.Add(dic["Msg2"]);
        }