【问题标题】:Background task only called when activated in visual studio仅在 Visual Studio 中激活时才调用后台任务
【发布时间】:2015-08-24 06:52:05
【问题描述】:

我有一个用于轮询错误的后台服务。

此后台任务仅在我在调试时激活它时触发。

这里是服务的注册

以及服务本身

我是否以错误的方式调用服务?为什么只有在我在 Visual Studio 中激活它时才会触发? 我做错了什么?

【问题讨论】:

  • 您使用的时间间隔(以分钟为单位)?
  • 间隔可以是可变的,但至少为 15
  • 你是否在包清单中声明了后台任务?
  • 任务仅在我在 Visual Studio 中激活它时才会触发(第一张图片)可以多次重新触发它。所以如果我能知道当我按下它时实际发生了什么,我可能会解决我的问题
  • 是的,后台任务已声明

标签: c# visual-studio windows-phone-8.1 background-task


【解决方案1】:

我将在这里添加一些我注意到的点,您需要在代码中考虑这些点。

1-您需要在此行之后检查访问是否被拒绝

var result = await BackgroundExecutionManager.RequestAccessAsync();  
if(result   != BackgroundAccessStatus.Denied)

2- 您正在注册时间触发器,OneShot 属性等于 true,在您的情况下“轮询”应该为 false,否则它将只运行一次。

taskBuilder.SetTrigger(new TimeTrigger(15, false)); 

3- 如果您显示任何 toast,请在包清单中添加 Toast Capable,对 Badge 执行相同操作(如果您正在更新徽章)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2023-03-09
    • 1970-01-01
    • 2021-12-07
    • 2020-07-16
    • 2013-08-20
    相关资源
    最近更新 更多