private async void BackGround_Title()
        {
            try
            {
                await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///VoiceCommand.xml")));

                var status = await BackgroundExecutionManager.RequestAccessAsync();

                foreach (var cur in BackgroundTaskRegistration.AllTasks)
                {
                    if (cur.Value.Name == "TitleTask")
                    {
                        return;
                    }
                }
                var builder = new BackgroundTaskBuilder();
                builder.Name           = "TitleTask";
                builder.TaskEntryPoint = "mediaservice.TitleUpdateTask";
                builder.SetTrigger(StorageLibraryContentChangedTrigger.Create(await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music)));
                builder.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable));
                var task = builder.Register();
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
        }
Beispiel #2
0
        private async Task Register()
        {
            BackgroundExecutionManager.RemoveAccess();
            var promise = await BackgroundExecutionManager.RequestAccessAsync();

            if (promise == BackgroundAccessStatus.DeniedByUser || promise == BackgroundAccessStatus.DeniedBySystemPolicy)
            {
                return;
            }

            foreach (var task in BackgroundTaskRegistration.AllTasks)
            {
                if (task.Value.Name == TaskName)
                {
                    task.Value.Unregister(true);
                }
            }
            var builder = new BackgroundTaskBuilder();

            builder.Name           = TaskName;
            builder.TaskEntryPoint = EntryPoint;

            var library = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);

            var contentChangedTrigger = StorageLibraryContentChangedTrigger.Create(library);

            builder.SetTrigger(contentChangedTrigger);
            builder.IsNetworkRequested    = true;
            builder.CancelOnConditionLoss = true;
            try
            {
                BackgroundTaskRegistration registration = builder.Register();
                Debug.WriteLine(registration.Name);
                Debug.WriteLine(registration.TaskId);
                Debug.WriteLine(registration.Trigger);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                throw;
            }
        }