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 に答える