问题标签 [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# - 后台任务使用与应用程序相同的数据提供者
在我的解决方案中,我有三个项目:应用程序、提供数据的类库和用于后台任务的 Windows 运行时组件。问题是,我需要机器人应用程序和后台任务才能使用数据提供者。这以“应用程序调用了为不同线程编组的接口”结束。Dispatcher 并不是一个很好的解决方案,因为我在 Dispatcher 中无法重新运行某些内容。
后台任务很少被调用,那么是否有可能解组提供第二个接口的数据,以便后台任务可以获取其数据?如果是 - 怎么做,如果不是 - 我还能做什么?
ios - iOS中长时间运行的后台任务
我知道这是一个很常见的问题。我已经阅读了很多答案,但没有找到适合我的答案。这就是为什么我发布这个问题并希望有人能告诉我如何修复我的代码。
我有函数 startUpdate 使用 CLLocationManager 更新位置。在 applicationDidEnterBackground 方法中,我写了如下内容:
[自启动更新]; // position1 NSLog(@"applicationDidEnterBackground"); __block UIBackgroundTaskIdentifier bgTask; bgTask = [应用程序 beginBackgroundTaskWithExpirationHandler:^{ [应用程序 endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }];
[自启动更新]; // position2 // 启动长时间运行的任务并立即返回。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [self startUpdate]; // position3 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@" http://google.com "]]; });
我试图将 [self startUpdate] 放在三个位置之一(位置 1、2、3),有时它可以工作,有时不能,我不知道为什么。
如果它有效,更新只需在 3 分钟事件中运行。如果我在应用程序处于前台时调用 startUpdate,然后将应用程序置于后台,使用真实设备更新将持续 15 分钟,使用模拟器会持续超过 1 小时(我不知道确切,1 小时后,我以为它会永远持续下去我停止测试)。那么有什么区别:前台启动更新->转到后台与后台启动更新;模拟器VS真机?
在 position3 之后,我调用以下行来打开 safari [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@" http://google.com "]]; 但它不起作用。那么可以在后台执行哪些类型的任务呢?
我需要让服务永远运行。一些搜索结果表明这是不可能的。但是一些熟悉的应用程序做到了(Facebook,......保持服务接收通知)。他们怎么能这样做?
太感谢了,
c# - 调试期间在生命周期事件中可见的后台任务,但不会自动运行
问题
我想使用后台任务在 windows phone 8.1 中显示 toast 通知。我按照这篇文章添加后台任务微软文章。问题是后台任务永远不会运行。只有当我在调试模式下从生命周期事件中调用它时,它才会运行。
c# - Windows phone 8.1 后台任务突然退出
我正在使用 windows phone 8.1 后台任务 API。正如在堆栈溢出的后台任务 API 的所有其他线程中看到的那样,对于后台任务运行多长时间没有明确的答案,因为我们无法将 2 CPU 秒映射到挂钟时间。这意味着它可以突然退出。
所以我的问题是,是否有一个处理程序可以用来确保应用程序看到后台任务突然结束的原因。可能会记录退出的行动事件和原因?
windows-phone-8 - 将 Windows Phone 8.1 应用注册为自动照片上传器
对于 Windows Phone 8 应用程序,可以将自己注册为相机拍摄的照片的自动上传应用程序。
Windows Phone 8.1 (RT) API 中是否有等价物?我还没有找到任何可以让我像 OneDrive 那样开始自动后台上传照片的东西。
这在 Windows Phone 8 上绝对是可能的!
希望他们没有放弃...
windows-runtime - BackgroundTask 是否有可能知道应用程序当前是否在前台?如果是这样,怎么做?
我有一个在收到原始通知时运行的后台任务。
如果应用程序不在前台,我想显示 toast 通知,但如果它在前台,我不想显示通知。
是否可以测试应用程序是否在前台BackgroundTask
?如果是这样,怎么做?
c# - 歌曲更改时更新 LiveTile
基本上,我正在使用这个示例。
XAMLrenderingBackgroundTask 使用专辑封面、文本等更新我的实时磁贴。效果很好 - 但是当歌曲更改时我无法运行它。我不知道如何在歌曲更改时触发此任务。
我有一个单独的 BackgroundTask 持续运行并接收 Song 更改等事件。但我不知道如何自己触发此 XAMLrenderingBackgroundTask 而不添加诸如 System time changed 等触发器。它必须是可能的,我看到其他当歌曲更改时,应用程序会更新磁贴上的图像。
我尝试使用 Media BackgroundTask 实现 XAMLrenderingBGTask 并尝试在媒体更改时更新活动磁贴,但由于某些调用从我所期望的另一个线程编组而崩溃。
现在我被困住了。这是我的媒体播放器的后台任务,MediaOpened 事件应该触发新歌曲的磁贴更改,但我不能..
asp.net - 带有要求的 ASP.NET 同步长过程
我正在使用一个电子商务平台,并且我的任务是与一些远程会计软件同步。该任务需要同步订单、产品、库存等。同步大量数据时,该过程可能需要一段时间。所以,我不认为 asp.net 应用程序是处理这个问题的最佳场所。所以,要求是:
- 为了能够安排此过程在一夜之间运行
- 为了能够手动启动此过程并将一些变量(如要导出的订单号)传递给它。
- 手动触发时可能会取回状态信息。
- 必须在 .net 3.5 上工作
问题:无法使用 Windows 服务,因为该站点远程托管在共享服务上,并且主机不允许服务。
想法:我很难找到适合所有要求的外部 asp.net 处理此问题的最佳方法,但我确实可以访问他们的 FTP,并认为托管 Web 服务的控制台应用程序可能会工作,并且我可以将 Quartz 调度程序放在全局文件中以从站点启动服务。
无论如何,如果您知道哪些方法对您有效,请提供一些想法和经验。
windows-phone-8 - 开启节电模式时后台代理不运行
我正在使用可以完美运行的 PeriodicTask,但如果开启了省电模式,它就不会运行,即使我已经通过 Battery Saver 应用程序允许该应用程序在此状态下在后台运行。
任何想法可能导致它无法运行?我应该补充一点,我正在使用后台代理中的 Telerik 的 LiveTileHelper 控件生成一个新的前后动态磁贴图像,并且还发出了一个 http 请求(该应用程序是一个天气应用程序)。这是针对 Silverlight Windows Phone 8 应用程序的。
很抱歉这个问题很笼统,但我假设解释不需要我共享代码。
任何见解将不胜感激。
巴迪
c# - 在 Windows Phone 8.1 中的 TimeTrigger 后从后台任务唤醒/启动 MainApp
这是我的场景:我在同一个解决方案中有一个 Windows Phone 8.1 应用程序 (MainApp)、一个类库和一个 Windows 运行时组件 ( BackgroundTask
)。
当我加载我的应用程序时,我注册了一个TimeTrigger
BackgroundTask
,然后操作系统处理了这个。任务有两个事件,Run
方法(在任务本身内部)和TaskCompleted
任务完成后我在类库中收到的回调。当应用程序处于前台或后台时,这两个事件都会执行。
当应用程序关闭时,BackgroundTask
它仍然存在,因为它是处理它的操作系统,它总是在那里。问题是我想在执行任务的方法时执行我的类库中的Run
方法,但是由于我没有我的应用程序实例,所以我不能这样做。
那么,我怎样才能从我BackgroundTask
的应用程序关闭时执行我的类库或 MainApp 中的代码?我可以从我的后台或前台唤醒/启动应用程序BackgroundTask
吗?