本地通知卸载并重新安装应用程序时触发

时间:2012-06-19 11:03:06

标签: iphone objective-c notifications uilocalnotification

当我为即将到来的时间设置本地通知并且删除应用时,在我重新安装应用时会触发本地通知。有没有办法避免这种情况。为什么会这样?

3 个答案:

答案 0 :(得分:2)

也许在applicationDidFinishLaunching(未测试)中:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

BOOL firstRun = [prefs boolForKey:@"firstRun"];

if(firstRun) {

    // Cancel all UILocalNotifications

} else {

    BOOL firstRun = NO;
    [prefs setBool:firstRun forKey:@"firstRun"];

}

答案 1 :(得分:1)

如果你的应用被删除时有回调你可以[[UIApplication sharedApplication] cancelAllLocalNotifications];但是因为这是不可能的,我没有看到任何方式......

答案 2 :(得分:1)

你应该在应用程序didFinishLaunchingWithOptions中实现类似下面的代码,希望这可以工作。

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

   // BOOL firstRun=YES;

      BOOL firstRun = [prefs boolForKey:@"firstRun"];

    if(firstRun) {
                  NSArray *notificationarray  = [[UIApplication sharedApplication] scheduledLocalNotifications];

         BOOL firstRun =NO;
         [prefs setBool:firstRun forKey:@"firstRun"];

     } else {  
               BOOL firstRun = NO;
              [prefs setBool:firstRun forKey:@"firstRun"];
               NSArray *notificationarray  = [[UIApplication sharedApplication] scheduledLocalNotifications];
              NSLog(@"%@",notificationarray);

      } 

     [prefs  synchronize];

希望这有帮助