private async void Button_Click(object sender, RoutedEventArgs e)
        {

            foreach (var _task in BackgroundTaskRegistration.AllTasks)
            {
                if (_task.Value.Name == "My demo task")
                {
                    _task.Value.Unregister(true);
                }
            }


            // asking to register on lock screen
            BackgroundAccessStatus accessresult = await BackgroundExecutionManager.RequestAccessAsync();

            BGTaskMD.ExampleBackgroundTask b = new BGTaskMD.ExampleBackgroundTask();
            b.ShowToast(accessresult.ToString());

            if ((accessresult == BackgroundAccessStatus.Denied)||(accessresult == BackgroundAccessStatus.Unspecified))
            {
                return;
            }

            // just to show result of lock screen registration
            BGTaskMD.RegisterTask r = new BGTaskMD.RegisterTask();
            r.RegisterIt();


            // unregister ServicingComplete task if it was already registered
            foreach (var _task in BackgroundTaskRegistration.AllTasks)
            {
                if (_task.Value.Name == "My demo task updated")
                {
                    _task.Value.Unregister(true);
                }
            }


            // register ServicingComplete task
            SystemTrigger taskTrigger = new SystemTrigger(SystemTriggerType.ServicingComplete,false);
            var bgTaskBuilder = new BackgroundTaskBuilder();
            bgTaskBuilder.Name = "My demo task updated";
            bgTaskBuilder.TaskEntryPoint = "BGTaskMD.AppUpdateServicingCompleteTask";
            bgTaskBuilder.SetTrigger(taskTrigger);
            BackgroundTaskRegistration task = bgTaskBuilder.Register();

        }
 public void Run(IBackgroundTaskInstance taskInstance)
 {
     BGTaskMD.RegisterTask r = new BGTaskMD.RegisterTask();
     r.RegisterIt();
 }