2014-03-12 61 views
2

在我的應用程序中,我保存了某些座標並將它們設置爲地理圍欄,因此每次用戶位置輸入特定的地理圍欄時,我都會將didEnterRegion委託方法放入一些代碼,以便通知用戶他/她已輸入某種地理圍欄。我正在使用UILocalNotification通知用戶這件事。如何在iOS中禁用/啓用本地通知?

我的問題是,在我的應用程序「設置」視圖。我在那裏有一個切換按鈕來啓用/禁用通知。我怎麼做?

謝謝!

+0

在nsuserdefault中存儲布爾值,如果是是預定本地通知,否則不是 – Ilario

回答

-5

無法啓用/禁用本地通知。但是有一種方法可以做到這一點。

刪除通知(禁用通知)

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"NotifyName" object:nil]; 

是添加通知後(啓用通知)

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(abc:) name:@"NotifyName" object:nil]; 
+6

本地通知不是'NSNotification' –

2

沒有任何特殊屬性啓用UILocalNotification /禁用所以我們可以不容易處理它。對於那些啓用和禁用UILocalNotification(在你的情況),

我只是把我的邏輯

if(toggleButtonEnable) 
{ 
    // First remove all LocalNotifications with set it's BadgeNumber = 0 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

    // Then write code of UILocalNotification with it's fireDate 
} 
else 
{ 
    // remove all LocalNotifications with set it's BadgeNumber = 0 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0; 
} 

通過使用上面的代碼,只要if condition是成爲真正然後先刪除/取消所有通知和設置badge = 0;並創建新的UILocalNotification,當if condition變爲false然後還刪除/取消所有通知並設置badge = 0;。因此,您可以輕鬆處理(啓用/禁用)UILocalNotification

+0

在我的情況下,我想關閉LocalNotification for Specific UserId。我有這麼多的用戶名單。 plz幫助我.. – Raju