问题标签 [background-task]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么具有 BackgroundAudioTask 的应用程序在 Windows Phone 8.1 商店应用程序中被终止而不是暂停?
我最近在 Stackoverflow 上遇到了一个问题(当应用程序在 WP 8.1 商店应用程序中恢复时,App Resuming 事件未触发),我的带有 BacgroundAudioTask 的 WP 8.1 RT 应用程序被终止,而不是暂停而不是触发 OnResuming 事件。为什么会发生这种情况?我找不到这种行为的任何原因,这真的很令人沮丧。任何人?
windows-runtime - 在 WinRT 后台任务中创建和维护 SignalR 连接
我目前有一个连接到 SignalR 服务以接收通知数据的 Windows Phone 应用程序。该服务将数据推送到手机,应用程序接受、处理等,一切都按预期工作。
但是,我希望应用程序在应用程序暂停且不再在前台时继续接收通知数据,并将通知数据显示为敬酒消息。据我所知,后台任务基础设施无法做到这一点。我可以访问暂停和恢复事件(使用 Prism),所以在这里我可以注册/取消注册我的后台任务。
对于触发器,唯一接近相关的是 TimeTrigger,但这只有 15 分钟的新鲜时间,所以假设我在后台任务中重新创建连接,我最终会打开然后立即关闭每 15 分钟连接一次,这不是我想要做的。
我可以有一个“无限等待”,一直挂到超时,但这感觉不是正确的方法(而且资源使用会很糟糕)。
有没有办法解决这个问题来实现我想做的事情?
c# - 如何在 Windows Phone 8.1 运行时应用程序中显示预定对话框?
我正在尝试使用 C# 为 Windows Phone 8.1 Runtime 编写 Timer-App。我的目标是在计时器结束时显示一个对话框并播放一个声音文件。如果用户按下“OK”,声音就会停止。“贪睡”功能也很棒。也许不在这个应用程序中,但我也在计划一个个性化的闹钟。因为我可以将计时器的 TimeSpan 添加到 DateTime。现在这将是在指定时间触发的最简单方法。以下是我的一些想法,但它们并不完全符合我的要求。
- 注册后台任务。但是在指定的时间内没有触发器。只有一个 TimeTrigger,最多每 30 分钟触发一次。我认为,一个对资源不太友好的解决方案是查找预期时间是否在接下来的 30 分钟内,并在后台任务中等待指定时间并使用 ContantDialog。不确定这是否可能。
- 另一种可能性是使用 toast 通知,但是如果您希望有人注意到计时器,则没有交互的可能性并且不是很令人印象深刻。
- RT 应用程序不再提供警报和提醒...
难道没有别的办法了吗?如果互联网连接处于活动状态,则触发后台任务,是否在预定时间有任何触发?或者也许可以自己编写类似旧警报和提醒的代码?
抱歉,没有代码。但是我还没有一些有用的代码来解决这个问题。
你将如何解决这个问题?也许对于计时器、闹钟、日历、任务提醒或其他需要在预定时间进行交互的东西。谢谢你的帮助。
signalr - Windows Phone 8.1 + SignalR - 在后台接收推送通知/关闭
我正在编写 Windows Phone 8.1 应用程序,我想接收来自 SinglaR 服务器的推送通知。它正在工作,但仅当应用程序处于前台时。应用程序在后台或关闭时如何接收通知?
PushNotificationTrigger是否捕获来自 SignalR 的通知?还是PushNotificationTrigger仅适用于 WNS?
谢谢
c# - BackgroundTask 内的 BackgroundTransfer
在我的应用程序中,我需要在 TimeTriggered 间隔上同步一些数据。现在我已经用 TimeTrigger 构建了一个 BackgroundTask,在这个任务中我正在运行一个 BackgroundTransfer 操作。这行得通,但我对此有一些疑问。
这是一个好的解决方案,还是有更好的解决方案?
有一些神秘的处决事情。如果我将应用程序作为调试版本部署到我的手机,一切都像一个魅力,所有的传输操作都在 BackgroundTask 的一次执行中完成,这需要 +/- 15 分钟。现在,如果我将应用程序作为发布版本部署到我的手机,BackgroundTask 仅传输数据 1-2 分钟并停止,直到触发 TimeTrigger 的下一次执行。为什么会有差异或为什么会这样?
编辑: 资源密集型任务对我来说不是一个选项,该应用程序是基于 WinRT 商店应用程序构建的。当这是来自 backgroundTask 的限制时,我该如何从后台执行这样的操作?
编辑2 : @kiewic,我称它为可等待的,会改变这一点,但有什么区别,因为这是在后台任务中执行的?
ios7 - IOS 7 和 8 中的 Monotouch 后台认证上传
我需要将文件从我的应用程序上传到我的 ASP.NET WEB API 后端。相同的 HTTP POST 请求已通过身份验证。通常我用 HTTPWEBREQUEST 类做这样的帖子。并将令牌添加到请求标头中request.Headers.Set(HttpRequestHeader.Authorization,"Bearer "+ token);
现在我需要在后台服务中做同样的事情,因为我不希望用户等待加载屏幕直到传输完成。我第一次尝试在 ios 中做背景。因为我的目标是 IOS 7 以上的设备,所以我知道我应该通过实现 NSUrlSession 来使用 BackGround Transfer Service。我检查了示例并找到了一个使用 NSUrlSessionDownloadTask 下载文件的示例。它类似于我们使用 Webclient 类直接从其 URL 下载文件的方式。我也知道有 NSUrlSessionUploadTask 用于上传文件。但是找不到一个实现,我可以使用 NSUrlSessionUploadTask 发布我的自定义 JSON,其中包括我的上传文件作为字节数组。我只熟悉使用 HTTPWEBREQUEST 和 WEBCLIENT。
这是我尝试过的
我试图通过在背景示例和 obj-c NSMutableURLRequest POST 示例中参考 monotouch 下载来实现这一点。
imgvm 是视图模型,jsonstr 是要发布的 JsonString。这是我的 NSUrlSessionTaskDelegate
我的 AppDelegate 中也有这些
请指出我做错了什么。我必须在 info.plist 中启用后台模式吗?我没有启用,因为指定的模式都不匹配“后台传输服务。当我现在运行时,执行到 session.CreateUploadTask (requests); 然后应用程序停止,没有任何异常
c# - WP8.1 / Raw Notify / Debugger OK的后台任务->不在设备上
我试图为 wp8.1 上的原始通知实现后台任务。
我阅读了 MSDN 和其他 Internet 资源上的文档。
我的应用程序正在使用附加的调试器。如果应用程序处于前台、后台,即使锁定屏幕已激活,也会处理原始消息。
但是,停止调试器会话并直接在设备上调用应用程序,如果应用程序仅在前台,则处理原始消息。不在后台,也不在锁定屏幕上。
我做了什么:
为我的后台任务生成了一个项目
基于一些 Microsoft 示例
设置应用清单文件中的条目(声明、推送通知、设置实例)
使用以下代码创建后台任务并打开频道
在启动时将断点放入后台类中,该断点未处于活动状态。如上所述设置推送通知触发器,断点被标记为活动。
!!通过接收未到达断点的原始消息在调试器中测试应用程序!!我花了几个小时在这上面,但没有找到任何解决方案。
所以我只用相关代码开始了一个小测试项目。将后台任务的触发器更改为系统触发器后,该任务在生命周期下拉列表中可用。任务类中的断点被命中。
切换回推送通知任务,断点未命中。原始后台任务在生命周期下拉列表中永远不可见!我认为这是主要问题。
希望有人有提示或想法。
谢谢,奥利弗
windows-phone - 无法在 Windows Phone 8.1 中使用后台任务(需要 ID_CAP_NETWORKING,但它包含在清单中)
我需要通过下载和解析 JSON 来更新我的 Windows Phone 应用程序磁贴。所以我正在使用 Microsoft HTTP 客户端库。
Use of networking APIs requires the ID_CAP_NETWORKING capability to be defined in the application manifest
当我尝试调试后台任务时,我总是遇到异常。
但是我的清单根据需要包含了 ID_CAP_NETWORKING(截图https://fbcdn-sphotos-ea.akamaihd.net/hphotos-ak-xaf1/t31.0-8/10750111_821340111262044_6461333323674658178_o.jpg)。
我不知道该怎么办。我尝试重建或重新创建应用程序,但这没有帮助。此外,我在互联网上找不到任何文档或答案。
你能写信吗,我能做些什么来解决这个问题?
这是带有重现问题的演示项目http://1drv.ms/1yjHm49(项目名称是“Meduza.Windows Phone”)。
我在 Lumia 720 上调试我的应用程序(如果有帮助的话)。
geolocation - Windows Phone 8.1 - GeofenceState.Exited
我想问一下 GeofenceState.Exited 的意图是什么?当我有一个带有 GeofenceState.Entered 的后台任务时,当我在圆圈内移动时,我得到 IBackgroundTask.Run() 每 2 分钟运行一次(为什么是 2 分钟?)
但是使用 GeofenceState.Exited,我可以步行数英里,但它永远不会被触发。是否有一些错误,或者与我想的不同?我想它应该这样工作:当检查在 2 分钟后完成时,当我在圈外时,调用方法 Run 。
我有一个参数 50 和停留时间 1 秒。
谢谢