Example #1
0
        public override void Initialize(XElement node, DirectoryInfo outputDir)
        {
            foreach (XAttribute tmpAttr in node.Attributes())
            {
                if (tmpAttr.Name == "address")
                {
                    Address = GetAddress(tmpAttr.Value);
                }

                if (tmpAttr.Name == "body")
                {
                    Body = tmpAttr.Value;
                }

                if (tmpAttr.Name == "contact_name")
                {
                    ContactName = tmpAttr.Value;
                }

                if (tmpAttr.Name == "date")
                {
                    MessageDate = GetDate(tmpAttr.Value);
                }

                if (tmpAttr.Name == "type")
                {
                    if (tmpAttr.Value == "1")
                    {
                        MessageType = SmsMessageType.Incoming;
                    }
                    else
                    {
                        MessageType = SmsMessageType.Outgoing;
                    }
                }
            }
        }
        private void Register_Click(object sender, RoutedEventArgs e)
        {
            // Check to see that a filter action type is set
            if (AcceptImmediatelyButton.IsChecked == false && DropButton.IsChecked == false && PeekButton.IsChecked == false && AcceptButton.IsChecked == false)
            {
                rootPage.NotifyUser("Please set a filter action type", NotifyType.ErrorMessage);
                return;
            }

            // Check to see that a message type is set
            if (TextButton.IsChecked == false && AppButton.IsChecked == false && WapButton.IsChecked == false && BroadcastButton.IsChecked == false && VoicemailButton.IsChecked == false)
            {
                rootPage.NotifyUser("Please set a message type", NotifyType.ErrorMessage);
                return;
            }

            try
            {
                // Set filter action type
                SmsMessageType messageType = SmsMessageType.Text; // set as Text as default
                if (TextButton.IsChecked == true)
                {
                    messageType = SmsMessageType.Text;
                }
                else if (AppButton.IsChecked == true)
                {
                    messageType = SmsMessageType.App;
                }
                else if (WapButton.IsChecked == true)
                {
                    messageType = SmsMessageType.Wap;
                }
                else if (BroadcastButton.IsChecked == true)
                {
                    messageType = SmsMessageType.Broadcast;
                }
                else if (VoicemailButton.IsChecked == true)
                {
                    messageType = SmsMessageType.Voicemail;
                }

                // Create new filter rule (individual)
                SmsFilterRule filter = new SmsFilterRule(messageType);

                // Set filter action type
                SmsFilterActionType actionType = SmsFilterActionType.Accept; // set as Accept as default
                if (AcceptImmediatelyButton.IsChecked == true)
                {
                    actionType = SmsFilterActionType.AcceptImmediately;
                }
                else if (DropButton.IsChecked == true)
                {
                    actionType = SmsFilterActionType.Drop;
                }
                else if (PeekButton.IsChecked == true)
                {
                    actionType = SmsFilterActionType.Peek;
                }
                else if (AcceptButton.IsChecked == true)
                {
                    actionType = SmsFilterActionType.Accept;
                }

                // Created set of filters for this application
                SmsFilterRules        filterRules = new SmsFilterRules(actionType);
                IList <SmsFilterRule> rules       = filterRules.Rules;
                rules.Add(filter);

                // Create a new background task builder.
                BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();

                // Create a new SmsMessageReceivedTrigger.
                SmsMessageReceivedTrigger trigger = new SmsMessageReceivedTrigger(filterRules);

                // Associate the SmsReceived trigger with the background task builder.
                taskBuilder.SetTrigger(trigger);

                // Specify the background task to run when the trigger fires.
                taskBuilder.TaskEntryPoint = BackgroundTaskEntryPoint;

                // Name the background task.
                taskBuilder.Name = BackgroundTaskName;

                // Register the background task.
                BackgroundTaskRegistration taskRegistration = taskBuilder.Register();

                // Associate completed event handler with the new background task.
                taskRegistration.Completed += new BackgroundTaskCompletedEventHandler(OnCompleted);

                UpdateBackgroundTaskUIState(true);
                rootPage.NotifyUser("Registered SMS background task", NotifyType.StatusMessage);
            }
            catch (Exception ex)
            {
                rootPage.NotifyUser(ex.ToString(), NotifyType.ErrorMessage);
            }
        }
Example #3
0
        private async void Register_BackgroundTask()
        {
            var settings = ApplicationData.Current.LocalSettings;

            try
            {
                var access = await BackgroundExecutionManager.RequestAccessAsync();

                switch (access)
                {
                case BackgroundAccessStatus.Unspecified:
                    break;

                case BackgroundAccessStatus.AlwaysAllowed:
                    break;

                case BackgroundAccessStatus.AllowedSubjectToSystemPolicy:
                    break;

                case BackgroundAccessStatus.DeniedBySystemPolicy:
                    break;

                case BackgroundAccessStatus.DeniedByUser:
                    break;

                default:
                    break;
                }

                SmsMessageType _messageType = SmsMessageType.Text; // set as Text as default
                _messageType = SmsMessageType.Text;

                SmsFilterRule _filterRule = new SmsFilterRule(_messageType);


                SmsFilterActionType _type = SmsFilterActionType.Accept;
                _type = SmsFilterActionType.Accept;


                SmsFilterRules _Rules = new SmsFilterRules(_type);

                IList <SmsFilterRule> rules = _Rules.Rules;

                rules.Add(_filterRule);

                BackgroundTaskBuilder     taskBuilder = new BackgroundTaskBuilder();
                SmsMessageReceivedTrigger trigger     = new SmsMessageReceivedTrigger(_Rules);

                taskBuilder.SetTrigger(trigger);
                taskBuilder.TaskEntryPoint = BackgroundTaskEntryPoint;
                taskBuilder.Name           = BackgroundTaskName;

                foreach (var cur in BackgroundTaskRegistration.AllTasks)
                {
                    if (cur.Value.Name == BackgroundTaskName)
                    {
                        return;
                    }
                }

                BackgroundTaskRegistration taskRegistration = taskBuilder.Register();

                taskRegistration.Completed += new BackgroundTaskCompletedEventHandler(OnCompleted);

                //LOG
            }
            catch (Exception ex)
            {
                //LOG
            }
        }