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); } }
//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(); } }
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); }