1

我正在制作一个一直在侦听 UDP 套接字的应用程序,即使该应用程序在后台也是如此。当某个数据到达抛出套接字时,我想显示从 10 到 0 计数 10 秒的用户计时器。

应用程序在后台时是否可以显示此计数器?

我可以在后台向用户显示任何消息(除了[[UIApplication sharedApplication] presentLocalNotificationNow:...]对我不利的消息),例如苹果闹钟吗?

笔记

  • 我不需要应用程序商店批准该应用程序。我只需要它在家工作。
  • 我已经成功地在后台保持通信并且我知道应用程序正在运行

谢谢

4

1 回答 1

0

您可以尝试使用徽章图标,并每秒将数字从 10 更新为 0。我假设您将这些方法放在 中AppDelegate,但它们可以放在任何地方。尝试:

。H

@interface AppDelegate : NSObject <UIApplicationDelegate> {
  int       _countDownNumber;
  NSTimer * _countDownTimer;
}

.m

- (void)updateTimer; {
  [[UIApplication sharedApplication] setApplicationIconBadgeNumber:_countDownNumber];
  _countDownNumber--;

  if(_countDownNumber < 0){
    [_countDownTimer invalidate];
  }
}

- (void)methodThatStartsTheCountDown; {
  _countDownNumber = 10;
  _countDownTimer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateTimer) userInfo:nil repeats:YES];
}

希望有帮助!

于 2012-08-05T17:41:21.067 回答