BACKGROUNDTASKHOST.EXE 'exited with code 1 (0x1) - Geofence problem

I am writing a Windows Phone 8.1 application using the GeoFence API. My problem is that I cannot initiate a location change in the background task because the application exits with code 1.

I read several threads about this error, but not one solution solved my problem.

  • I checked if my BackgroundTask is a Runtime component, and it is.
  • I checked the name of my class and that is correct.
  • I checked if I use any wait function in my BackgroundTask function and I did not find it.
  • I checked if I registered a background task in the application manifest and yes I did (with an entry point in c)

In fact, the error appears even before running the Run function from BackgroundTask.

namespace BackgroundTask { public sealed class geoFenceBackgroundTask : IBackgroundTask { public void Run(IBackgroundTaskInstance taskInstance) { ToastTemplateType toastTemplate = ToastTemplateType.ToastText02; XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text"); toastTextElements[0].AppendChild(toastXml.CreateTextNode("MY APP")); toastTextElements[1].AppendChild(toastXml.CreateTextNode("Test")); //IXmlNode toastNode = toastXml.SelectSingleNode("/toast"); //XmlElement audio = toastXml.CreateElement("audio"); ToastNotification toast = new ToastNotification(toastXml); ToastNotificationManager.CreateToastNotifier().Show(toast); } } } 

And my registration function:

  async private void RegisterBackgroundTask() { // Get permission for a background task from the user. If the user has already answered once, // this does nothing and the user must manually update their preference via PC Settings. BackgroundAccessStatus backgroundAccessStatus = await BackgroundExecutionManager.RequestAccessAsync(); // Regardless of the answer, register the background task. If the user later adds this application // to the lock screen, the background task will be ready to run. // Create a new background task builder BackgroundTaskBuilder geofenceTaskBuilder = new BackgroundTaskBuilder(); geofenceTaskBuilder.Name = "geoFenceBackgroundTask"; geofenceTaskBuilder.TaskEntryPoint = "BackgroundTask.geoFenceBackgroundTask"; // Create a new location trigger var trigger = new LocationTrigger(LocationTriggerType.Geofence); // Associate the locationi trigger with the background task builder geofenceTaskBuilder.SetTrigger(trigger); // If it is important that there is user presence and/or // internet connection when OnCompleted is called // the following could be called before calling Register() // SystemCondition condition = new SystemCondition(SystemConditionType.UserPresent | SystemConditionType.InternetAvailable); // geofenceTaskBuilder.AddCondition(condition); // Register the background task var geofenceTask = geofenceTaskBuilder.Register(); geofenceTask.Completed += (sender, args) => { // MY CODE HERE }; geofenceTask = geofenceTaskBuilder.Register(); } 

I have no other ideas. Any help?

+6
source share
1 answer

just stumbled upon a similar problem (Visual Studio canceled debugging when starting the background task on "lifecyle-events-Dropdown", indicating that "BACKGROUNDTASKHOST.EXE" came out with code 1 (0x1) "in the output of COnsole -Window.

Adding the missing link to the Build Tasks project (winmd) in the WP8 project resolved it.

+7
source

Source: https://habr.com/ru/post/975558/


All Articles