5

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

4

3 回答 3

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"];

}
于 2012-06-19T14:21:00.170 回答
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];

希望这可以帮助

于 2013-04-22T12:07:10.943 回答
1

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

于 2012-06-19T11:24:40.720 回答