【问题标题】:Set Reminder using local notification in iOS Objective C在 iOS Objective C 中使用本地通知设置提醒
【发布时间】:2016-12-25 13:05:06
【问题描述】:

这是我的本地通知代码,我每天使用[localNotification setRepeatInterval:NSCalendarUnitDay]; 收到通知,现在我想在日期和时间到期后使用结束日期和时间停止或取消通知。以及我应该在哪里实施,请任何人解释。谢谢。

NSString *startdate = @"10-12-2016 07:00 am";
NSString *enddate = @"14-12-2016 07:00 am";
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = startdate;
localNotification.alertBody = [NSString stringWithFormat:@"%@ ",self.nameTextField.text];
            localNotification.soundName = @"bell_tree.mp3";
            localNotification.alertAction = @"Show me the item";
            localNotification.timeZone = [NSTimeZone defaultTimeZone];
            localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1;
    [localNotification setRepeatInterval:NSCalendarUnitDay];
     [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

这是我的应用委托 didReceiveLocalNotification 编码,

- (void)application:(UIApplication *)application didReceiveLocalNotification:(nonnull UILocalNotification *)notification {
    UIApplicationState state = [application applicationState];
    if (state == UIApplicationStateActive) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Reminder"
                                                        message:notification.alertBody
                                                       delegate:self cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
    }

    // Request to reload table view data
    [[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:self];

    // Set icon badge number to zero
    application.applicationIconBadgeNumber = 0;

}

【问题讨论】:

    标签: ios objective-c notifications uilocalnotification


    【解决方案1】:

    您可以使用以下代码取消该通知:

    用这行代码取消一个本地通知:[[UIApplication sharedApplication] cancelLocalNotification:theNotification]

    您可以在向用户显示通知后在 didReceiveLocalNotification 中执行此操作.. 或将 "notification" 对象传递给该类/方法,无论用户是否取消它。

    或者您可以实现“取消”按钮单击警报,然后单击该按钮可以取消该提醒(localNotification)。

    【讨论】:

    • 如何检查收到通知的日期和时间是否等于结束日期和时间字符串。那么只有它可能对吗?请你解释一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多