Thêm một chức năng mà chúng tôi sẽ kêu gọi các liên lạc của các nút bên trong tập tin YourViewController.h và sau đó cung cấp cho cơ thể mà chức năng trong YourViewController.m nộp
-(void)Trigger_LocalNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *_localNotification = [[UILocalNotification alloc]init];
//setting the fire dat of the local notification
_localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
//setting the time zone
_localNotification.timeZone = [NSTimeZone defaultTimeZone];
//setting the message to display
_localNotification.alertBody = @"Did you forget something?";
//default notification sound
_localNotification.soundName = UILocalNotificationDefaultSoundName;
//displaying the badge number
_localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication]applicationIconBadgeNumber]+1;
//schedule a notification at its specified time with the help of the app delegate
[[UIApplication sharedApplication]scheduleLocalNotification:_localNotification];
}
Dòng đầu tiên của mã loại bỏ tất cả các thông báo địa phương từ hệ thống nếu chúng được khai báo. Trong dòng thứ hai tôi đang khởi tạo biến UILocalNotification và trong dòng thứ ba tôi đang sử dụng thuộc tính fireDate để đặt thời gian khi thông báo cục bộ này kích hoạt và bạn có thể thấy thông báo sẽ được kích hoạt sau 5 giây.
SoundName là thuộc tính của lớp UILocalNotification được sử dụng để phát âm thanh khi thông báo được kích hoạt và khi ứng dụng kích hoạt thông báo cục bộ này không hoạt động thì trong trường hợp đó, hộp thông báo sẽ bật lên với thông báo mặc định âm thanh và thông điệp cảnh báo được viết bằng cách sử dụng cảnh báo thuộc tínhBody. Dòng cuối cùng của mã sẽ đính kèm thông báo này với hệ thống.
hãy chắc chắn để đính kèm chức năng này với nút chạm lên bên kiện
[btn addTarget:self action:@selector(Trigger_LocalNotification) forControlEvents:UIControlEventTouchUpInside];
Bây giờ chọn file App Delegate.m của dự án của bạn và tạo ra các đối tượng của lớp này (YourViewController)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
YourViewController *obj = [[YourViewController alloc]init];
[self.window addSubview:obj.view];
[self.window makeKeyAndVisible];
return YES;
}
Chạy ứng dụng và khi ứng dụng được khởi chạy trong trình mô phỏng thì nhanh chóng nhấn nút trang chủ để xem hộp cảnh báo của thông báo địa phương sau 5 giây.
Tôi hy vọng câu trả lời này đã giúp bạn tìm hiểu cách triển khai UILocalNotification.
cảm ơn cảnh báo đang hoạt động tốt ..... Nhưng văn bản được hiển thị trong cảnh báo đó là từ trình điều khiển chế độ xem khác và tại sao nó không hoạt động ??. 'application.applicationIconBadgeNumber = 0; \t NSString * remindTextText = [notification.userInfo objectForKey: kRemindMeNotificationDataKey]; \t [viewController showReminder: reminderText]; – Chandu
hiển thị lời nhắc là phương pháp tôi đã viết trong bộ điều khiển xem khác nhưng tôi không biết tại sao nó không nhận được gọi là – Chandu
cách tốt đẹp để đối phó với notif địa phương. Bạn có đề xuất bất kỳ địa điểm nào để đặt 'isAppResumingFromBackground' thành' YES' không? Một số nơi nó sẽ được gọi sau khi 'application: didReceiveLocalNotification:' nhưng sẽ được gọi trong bất kỳ trường hợp nào ứng dụng tiếp tục. – dvkch