【问题标题】:Geofencing Background Task in Windows Phone 8.1 - Can't request access from BackgroundExecutionManagerWindows Phone 8.1 中的地理围栏后台任务 - 无法从 BackgroundExecutionManager 请求访问
【发布时间】:2014-09-01 07:58:07
【问题描述】:

我需要在我的应用中实现地理围栏后台任务。我主要使用了来自 MSDN 地理围栏示例的代码。无论我在做什么,它总是在 App.g.i.cs 调试器中结束,同时尝试获取 BackgroundExecutionManager 访问权限。

    public async static void Register()
    {
        if (!IsTaskRegistered())
        {
            var result = await BackgroundExecutionManager.RequestAccessAsync();
            var builder = new BackgroundTaskBuilder();

            builder.Name = TaskName;
            builder.TaskEntryPoint = typeof(GeofenceTask).FullName;
            builder.SetTrigger(new LocationTrigger(LocationTriggerType.Geofence));

            builder.Register();
        }
    }

它永远不会进入 var builder = new BackgroundTaskBuilder(); - 总是在之前结束。我可能做错了什么?

顺便说一句。 IsTaskRegistered() 工作正常,但以防万一:

    public static bool IsTaskRegistered()
    {
        var taskRegistered = false;
        var entry = BackgroundTaskRegistration.AllTasks.FirstOrDefault(kvp => kvp.Value.Name == TaskName);

        if (entry.Value != null)
            taskRegistered = true;

        return taskRegistered;
    }

【问题讨论】:

    标签: c# windows-phone-8.1 geofencing background-task


    【解决方案1】:

    如果您没有在应用程序清单中声明任何后台任务,就会发生这种情况。

    您需要转到声明选项卡,然后添加一个具有位置类型的新后台任务,并像这样填写它的“入口点”: “背景任务。地理围栏任务”。 “可执行文件”和“起始页”应为空。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多