Пример #1
0
        private async void RegisterTask()
        {
            var access = await BackgroundExecutionManager.RequestAccessAsync();

            if (access == BackgroundAccessStatus.AlwaysAllowed ||
                access == BackgroundAccessStatus.AllowedSubjectToSystemPolicy)
            {
                // Create a new background task builder.
                BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();

                // Create a new Phone Trigger.
                PhoneTrigger trigger = new PhoneTrigger(PhoneTriggerType.CallOriginDataRequest, false);

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

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

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

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

                UpdateBackgroundTaskUIState(true);
                rootPage.NotifyUser("Registered Caller ID background task", NotifyType.StatusMessage);
            }
            else
            {
                rootPage.NotifyUser("Background agent access denied", NotifyType.ErrorMessage);
            }
        }
        private async void RegisterTask()
        {
            var access = await BackgroundExecutionManager.RequestAccessAsync();
            if (access == BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity)
            {
                // Create a new background task builder.
                BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();

                // Create a new Phone Trigger.
                PhoneTrigger trigger = new PhoneTrigger(PhoneTriggerType.CallOriginDataRequest, false);

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

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

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

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

                UpdateBackgroundTaskUIState(true);
                rootPage.NotifyUser("Registered Caller ID background task", NotifyType.StatusMessage);
            }
            else
            {
                rootPage.NotifyUser("Background agent access denied", NotifyType.ErrorMessage);
            }
        }
Пример #3
0
        //If BG is not registered, application should register PhoneCallOriginDataRequestTrigger BG
        //when it's selected as active call origin app
        async Task RegisterTask()
        {
            BackgroundExecutionManager.RemoveAccess();
            var access = await BackgroundExecutionManager.RequestAccessAsync();

            if (access == BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity)
            {
                BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();
                taskBuilder.Name = "CallOriginLookupBackgroundTask";
                PhoneTrigger trigger =
                    new PhoneTrigger(PhoneTriggerType.CallOriginDataRequest);
                taskBuilder.SetTrigger(trigger);
                taskBuilder.TaskEntryPoint = typeof(CallExtraInfoLookupBackgroundTask).FullName;
                taskBuilder.Register();
            }
            else
            {
                showRegistryFailMessage();
            }
        }
Пример #4
0
        public IBackgroundTaskRegistration RegisterBackgroundTask()
        {
            if (BackgroundTaskRegistration.AllTasks.Any(x => x.Value.Name == BackgroundTaskName))
            {
                return(null);
            }

            var phoneTaskBuilder = new BackgroundTaskBuilder()
            {
                Name           = BackgroundTaskName,
                TaskEntryPoint = BackgroundTaskEntryPoint
            };

            var trigger = new PhoneTrigger(PhoneTriggerType.CallHistoryChanged, false);

            phoneTaskBuilder.SetTrigger(trigger);

            var backgroundTask = phoneTaskBuilder.Register();

            return(backgroundTask);
        }