0

アプリに UILocalNotifications を正常に実装しました。私が直面している唯一の問題は、アプリがバックグラウンドにあり、ユーザーが通知をクリアした場合です。ユーザーがアプリケーションを開くと、アプリには引き続き 1 のバッジが表示されます。

ただし、バッジをクリアしています

 application.applicationIconBadgeNumber = 0;

関数 didFinishLaunchingWithOptions と didReceiveLocalNotification の両方で。

アプリがフォアグラウンドになり、すべての通知データが表示されたら、どのようにプロンプ​​トを表示できますか?

この点に関するヘルプと提案は高く評価されます。

よろしく。

4

2 に答える 2

2

applicationWillEnterForeground: アプリケーションがフォアグラウンドに入ろうとしていることをデリゲートに伝えます。

- (void)applicationWillEnterForeground:(UIApplication *)application{
     application.applicationIconBadgeNumber = 0;
}

didFinishLaunchingWithOptions は、アプリの起動時にのみ呼び出されます。そして、didReceiveLocalNotificationがバックグラウンドで呼び出されるかどうかはわかりません。

したがって、applicationWillEnterForeground が機能するはずです。

于 2013-03-15T10:01:30.030 に答える
0

を使用する必要があります

- (void)applicationDidBecomeActive:(UIApplication *)application{
}

の代わりに、Apps デリゲートからのメソッド

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
}

アプリが再アクティブ化された後、このポイントが呼び出されます...

于 2013-03-15T10:04:09.800 に答える