当我为即将到来的时间设置本地通知并且删除应用时,在我重新安装应用时会触发本地通知。有没有办法避免这种情况。为什么会这样?
答案 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];
希望这有帮助