小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Windows8SMS后臺(tái)任務(wù)

 牛人的尾巴 2015-12-01

Windows8SMS后臺(tái)任務(wù)

(2013-01-17 11:13:18)
標(biāo)簽:

雜談

        private const string BackgroundTaskEntryPoint = "SmsBackgroundTask.SampleSmsBackgroundTask";
        private const string BackgroundTaskName = "SampleSmsBackgroundTask";

        // Handle request to register the background task
        private async void RegisterBackgroundTask_Click(object sender, RoutedEventArgs e)
        {

            try
            {
                SmsDevice smsDevice = (SmsDevice)await SmsDevice.GetDefaultAsync();
            }
            catch (Exception ex)
            {
                return;
            }
            

            try
            {
                BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();
                SystemTrigger trigger = new SystemTrigger(SystemTriggerType.SmsReceived, false);
                taskBuilder.SetTrigger(trigger);
                taskBuilder.TaskEntryPoint = BackgroundTaskEntryPoint;
                taskBuilder.Name = BackgroundTaskName;
                BackgroundTaskRegistration taskRegistration = taskBuilder.Register();
                taskRegistration.Completed += new BackgroundTaskCompletedEventHandler(OnCompleted);
            }
            catch (Exception ex){ }
        }

        // Handle request to unregister the background task
        private void UnregisterBackgroundTask_Click(object sender, RoutedEventArgs e)
        {
            // Loop through all background tasks and unregister our background task
            foreach (var cur in BackgroundTaskRegistration.AllTasks)
            {
                if (cur.Value.Name == BackgroundTaskName)
                    cur.Value.Unregister(true);
            }
         }

        // Initialize state based on currently registered background tasks
        public void InitializeRegisteredSmsBackgroundTasks()
        {
            try
            {
                foreach (var item in BackgroundTaskRegistration.AllTasks)
                {
                    IBackgroundTaskRegistration task = item.Value;
                    if (task.Name == BackgroundTaskName)
                        task.Completed += new BackgroundTaskCompletedEventHandler(OnCompleted);
                }
            }
            catch (Exception ex) {  }
        }

        // Handle background task completion event.
        private async void OnCompleted(IBackgroundTaskRegistration sender, BackgroundTaskCompletedEventArgs e)
        {
            await sampleDispatcher.RunAsync(CoreDispatcherPriority.Normal,
            () =>
            {
                try
                {
                    if ((sender != null) && (e != null))
                    {
                        e.CheckResult();

                        var key = sender.TaskId.ToString();
                        var settings = ApplicationData.Current.LocalSettings;
                        BackgroundTaskStatus.Text = settings.Values[key].ToString();
                    }
                }
                catch (Exception ex) { }
            });
        }






    public sealed class SampleSmsBackgroundTask : IBackgroundTask
    {
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            taskInstance.Canceled += new BackgroundTaskCanceledEventHandler(OnCanceled);

            BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

            await DisplayToastAsync(taskInstance);
            var settings = ApplicationData.Current.LocalSettings;
            settings.Values[taskInstance.Task.TaskId.ToString()] = "Completed";

            Debug.WriteLine("Background " + taskInstance.Task.Name + ("process ran"));

            deferral.Complete();
        }

        async Task DisplayToastAsync(IBackgroundTaskInstance taskInstance)
        {
            SmsReceivedEventDetails smsDetails = (SmsReceivedEventDetails)taskInstance.TriggerDetails;
            SmsDevice smsDevice = (SmsDevice)await SmsDevice.FromIdAsync(smsDetails.DeviceId);
            SmsBinaryMessage smsEncodedmsg = (SmsBinaryMessage)await smsDevice.MessageStore.GetMessageAsync(smsDetails.MessageIndex);
            SmsTextMessage smsTextMessage = SmsTextMessage.FromBinaryMessage(smsEncodedmsg);



            XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
            XmlNodeList stringElements = toastXml.getElementsByTagName_r("text");
            stringElements.Item(0).AppendChild(toastXml.CreateTextNode(smsTextMessage.From));
            stringElements.Item(1).AppendChild(toastXml.CreateTextNode(smsTextMessage.Body));
            ToastNotification notification = new ToastNotification(toastXml);
            ToastNotificationManager.CreateToastNotifier().Show(notification);
        }

        private void OnCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
        {
            var settings = ApplicationData.Current.LocalSettings;
            settings.Values[sender.Task.TaskId.ToString()] = "Canceled";

            Debug.WriteLine("Background " + sender.Task.Name + " Cancel Requested...");
        }
    }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多