0

こんにちはCoreLocation、特定の地域に到達したかどうかを知るためにプロジェクトで使用している皆さん。私は使用していませんstartMonitoringForRegionが、代わりにstartMonitoringForSignificantLocationChangeバックグラウンドで使用しています。

そのため、位置情報が更新されると、保存した場所を確認し、距離が設定半径以下の場合はローカル通知を送信します。ユーザーが範囲内にいて、プッシュを受信したとしましょう。繰り返しますが、彼がバックグラウンドで少し歩くと、確かに通知が表示されます. これに対応する方法、つまり、通知を受け取ったので再度ポップアップすることはありません。また、その地域を離れて再入力するとポップアップするはずです。ブール値を使用して確認することを考えていました。

4

2 に答える 2

0

私の提案は、

Boolean notified = FALSE;

アプリケーションが終了して再起動すると、値が失われるためです。使わない理由

[[NSUserDefaults standardUserDefaults] setValue:@"1" forKey:@"notified"];

これにより、アプリケーションが再起動または再起動されたときに何度も通知されることはありません。

于 2013-05-20T11:59:41.343 に答える
0

で通知をクリアできます

- (void)applicationDidBecomeActive:(UIApplication *)application
    [[UIApplication sharedApplication] cancelAllLocalNotifications];

そして、あなたが今いる地域を除いて、ローカル通知を再作成します

于 2013-05-20T11:06:14.117 に答える