1

我正在尝试找到一种方法来设置一个计时器,该计时器从安装应用程序时开始,即使应用程序在后台也能继续运行。我基本上是在使用定时器来定期检查连接到手机的外部设备的电池寿命。有人告诉我,最好的方法是对计时器函数使用某种委托调用,但我对 IOS 还很陌生,对如何做到这一点很困惑。我知道如何设置计时器并获得电池寿命,但是我对如何让计时器在应用程序的整个生命周期中保持不变感到困惑。您可以提供的任何帮助将不胜感激!非常感谢!

4

3 回答 3

4

无法(永远)在后台运行应用程序。

但是当您的应用程序正在运行时......您可以将repeats方法的参数设置scheduledTimerWithInterval:target:selector:userInfo:repeats:YES.

这是一个链接,它在后台运行一段时间以执行相对较大的任务。

于 2012-07-13T00:53:43.453 回答
1

即使应用程序在后台运行

不可能。您可以要求额外的 10 分钟,但仅此而已。您将无法按原样编写您的应用程序。

对于您问题的计时器部分,您可以这样做:

[NSTimer scheduledTimerWithTimeInterval:60.0
    target:self
    selector:@selector(checkBattery:)
    userInfo:nil
    repeats:YES];

但是您确实应该订阅有关电池更换事件的通知。这是来自苹果的示例代码,展示了如何做到这一点。

于 2012-07-13T00:50:01.090 回答
0

康尼贝尔是对的。这是 iOS 政策,它完全是为了防止您尝试做的事情,即耗尽 iPhone(或 iPad)的电池寿命。

于 2012-07-13T00:53:42.330 回答