问题标签 [background-mode]

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.

0 投票
2 回答
3558 浏览

ios - 应用程序处于后台模式时的文本到语音功能?

我正在开发一个TextToSpeech应用程序。我在 a 中写了一段UITextField,然后按下Speak按钮。声音会根据 中写入的文字播放UITextField

在此处输入图像描述

但是,当应用程序处于后台模式时,音频会停止播放。如何在后台模式下继续播放声音?类似于音频播放器在后台播放歌曲的方式。

我将以下代码用于文本到语音:

0 投票
1 回答
74 浏览

ios - 应用程序中的后台模式使用

我正在开发一个 iOS 应用程序,每分钟将数据更新到服务器。即使应用程序进入后台,我也想进行此数据更新。我在“功能”中启用了“背景模式”,没有检查任何背景选项。还使用了下面的代码

Imp :我已经评论了[app endBackgroundTask:bgTask]and bgTask = UIBackgroundTaskInvalid

现在我的应用程序在后台运行良好。

我的问题是,是否有机会因此从 App Store 拒绝我的应用程序?

0 投票
1 回答
436 浏览

background-task - 使用 GCDAsyncUdpSocket 在后台监听 UDP Socket

我有一个应用程序通过 UDP 连接到网络设备(在 LAN 中)并使用 GCDAsyncUdpSocket 侦听新消息。它在前台工作正常,但在后台无法响应。当我收到来自 UDP 的消息时,我想显示本地通知。请建议我们如何通过遵循 Apple 政策来实现这一目标。

谢谢和问候, 阿米特

0 投票
1 回答
1015 浏览

ios - 应用程序进入后台后,快速加载最后一个 View Controller Active

我有“Tinder”,比如位于 CardViewController 中的滑动视图。卡片视图控制器通过移动另外两个视图控制器来访问。即加载App -> FirstViewController -> SecondViewController -> CardViewController。

当我在 Card ViewController 并进入后台模式时,应用程序在 FirstViewController 上启动并进入卡片,它们是从大约 10 个堆栈中的第一张卡片加载的?

有没有办法从我刷过的最后一张卡和 CardViewController 中加载应用程序,而不必再次从 FirstView 控制器导航?

我非常感谢您的帮助,因为它严重影响了我的一些用户。

显示了类似 Tinder 的卡片视图的示例!

0 投票
0 回答
54 浏览

ios - iOS,在应用启动时调用 Core Data 查询的最佳时间

我的应用程序Background App Refresh在收到Push Notification从服务器获取数据并使用存储的位置Core Data时,现在我需要在应用程序再次激活时处理数据。所以,我尝试了调用fetch query何时-(void)applicationDidBecomeActive:(UIApplication *)application获取数据。

但是,如果我立即直接查询表,如果应用程序处于停止状态,则查询返回 0 个对象。我猜核心数据连接器在我调用查询时还没有准备好。我确信数据保存在表中,就好像我使用dispatch_after2 secs 进行查询一样,我得到了完整的数据。

我不想在viewDidLoad/viewDidAppear原因上进行查询,当应用程序从非活动状态变为活动状态时,没有必要调用这些。

0 投票
1 回答
75 浏览

ios - 后台下载多个小文件

任何人都可以建议在后台下载多个文件的解决方案,比如 100s。重要的是下载 url 的生命周期为 15 分钟,因此我们需要获取下载 url 然后开始下载。我们不能预取所有的 url 并将其添加到下载任务中,因为这可能导致在几次成功下载后过期 url 下载失败。

提前致谢。

0 投票
1 回答
287 浏览

javascript - Angular js cordovaGeolocation获取当前位置并在后台向服务器发送数据

我正在尝试cordovaGeolocation链接我已经在我的应用程序中插入了相同的代码当应用程序打开时它对我来说工作正常,我需要在应用程序处于后台时获取此地理位置并将其发送到服务器,所以使用后台模式cordova见backgroundMode文档链接

  1. 当应用程序打开时,我正在获取地理位置并发送到服务器工作正常。
  2. 我也将 onpause 和 onresume cordova 用于原生 android 中的应用程序状态。
  3. 当应用程序处于暂停状态时,我在 onactivate() 内部使用了后台 enable(),给定时间间隔并获取地理位置并发送到服务器。
  4. 一旦应用程序进入 onpause 并返回到 onresume 应用程序就可以完美地获取地理位置并发送到服务器。

错误是当应用程序关闭或进入暂停状态时,收到Position Error 消息:Timeout expired while getting geolocation and not sent data to server。请参阅此编码并指导我完成此操作。先感谢您。

0 投票
2 回答
84 浏览

ios - 在后台启动时消耗电池的任务

苹果表示,使用后台模式的应用程序在后台启动时不应执行昂贵、耗电的任务。究竟什么被认为是消耗面糊的任务?具体来说:搜索和 100 个条目的数组是否可以接受?1000呢?

0 投票
1 回答
1611 浏览

ios - CADisplayLink 可以在应用程序在后台运行时运行吗?

我在我的应用程序中使用 CADisplayLink 作为计时器。我正在使用 CADisplayLink,因为我的应用非常依赖 CADisplayLink 的准确性/精度。就我而言,NSTimer 不是合适的替代品。

问题是偶尔,我需要 CADisplayLink 触发并调用它的选择器,而应用程序在后台。这甚至可能吗?我了解 CADisplayLink 与应用程序 UI 的刷新率相关联。这是否意味着,当我的应用程序在后台时,没有 UI,因此在这种情况下不可能使用 CADisplayLink?或者,是否可以通过更改我添加到的运行循环或更改forMode参数来以某种方式使用 CADisplayLink?或者也许使用一些 GCD 技巧/解决方法?

注意:我的应用正在使用 AudioPlayer,因此我启用了后台功能。我可以在后台运行其他代码。只是为了测试,我用 NSTimer 切换了我的 CADisplayLink,然后 NSTimer 触发并按照我的意愿调用它的选择器。我只是无法启动 CADisplayLink,也找不到任何关于在后台使用它的可能性的权威文档

这是与我的显示链接有关的当前代码:

0 投票
0 回答
1141 浏览

ios - 以编程方式使用iOS中的核心蓝牙在后台检测蓝牙设备连接/断开连接

当应用程序在后台时,我需要以编程方式检测任何蓝牙设备与 iPhone 的连接和断开连接事件。