2013-05-20 21 views
0

大家好我在我的項目中使用CoreLocation來了解我是否已經到達某個地區。我沒有使用startMonitoringForRegion,而是在後臺使用startMonitoringForSignificantLocationChange如何在用戶在特定區域時只更新一次?

因此,當我有位置更新時,我檢查我的存儲位置,如果距離小於或等於我設定的半徑,它將發送本地通知。一切工作正常,除非讓我們說用戶在範圍內,他收到推送。再次當他在後臺走了一會兒,它肯定會顯示通知。如何迎合這一點,即從我收到通知它不會再次彈出,並且如果我離開該區域並重新輸入將彈出。我想用布爾值來檢查。

回答

0

您可以清除通知在

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

並重新創建一個本地通知排除你現在所在的區域

+0

tks for your reply :)需要[[UIApplication sharedApplication] cancelAllLocalNotifications];休息我會用一個布爾值來處理它:) – droidiphonereef

0

我的建議,因爲它會在不使用

Boolean notified = FALSE; 

值當應用程序終止並重新啓動時,它的值將會丟失。 你爲什麼不使用

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

由於這個當過應用程序重新啓動或不重新啓動一次又一次的通知。

相關問題