Tôi đã cố xử lý việc nhận thông báo trong ứng dụng của mình nhưng không thực sự hoạt động.iOS Xử lý thông báo sau khi khởi động ứng dụng từ trạng thái không hoạt động
Khi tôi sử dụng didReceiveLocalNotification:(UILocalNotification *)notification
. Tôi có thể nhận và sử dụng thông báo được sử dụng để nhập ứng dụng, mà không có bất kỳ sự cố nào
Tuy nhiên, chức năng này chỉ được kích hoạt khi ứng dụng đã là chạy (hoạt động, không hoạt động, nền và có thể bị tạm ngưng nhưng tôi vẫn chưa thử).
Hiện tại, có chức năng này didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
nơi bạn có thể sử dụng [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]
để trả lại UILocalNotification.
Tuy nhiên, khi bạn khởi chạy ứng dụng từ trạng thái không hoạt động, sự kiện này không được kích hoạt. LocalNotification sau đó mở ứng dụng, nhưng tôi không thể sử dụng nó theo bất kỳ cách nào.
Bây giờ, câu hỏi của tôi là: Làm cách nào để có thể làm cho nó hoạt động, vì vậy tôi có thể nhận và xử lý thông báo khi khởi động ứng dụng, từ thông báo khi ứng dụng ở trạng thái không chạy? Có lẽ có điều gì đó tôi đang làm sai ở đây không?
Dưới đây là một chút mã mẫu từ ứng dụng của tôi:
Thứ nhất, didFinishLaunchingWithOptions
chức năng, trong đó, tiếc là không hoạt động. Chức năng [sharedLocalNotificationsInstance processNotification:notification]
không bao giờ được đưa ra ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
LocalNotificationsController *sharedLocalNotificationsInstance = [LocalNotificationsController sharedLocalNotificationsInstance];
[sharedLocalNotificationsInstance checkNotifications];
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (notification != nil) {
// Process the received notification
[sharedLocalNotificationsInstance processNotification:notification];
application.applicationIconBadgeNumber = 0;
}
return YES;
}
Và một mảnh thứ hai của mã: Chức năng didReceiveLocalNotification, mà làm việc một cách hoàn hảo: Tôi nhận được thông báo, và [sharedLocalNotificationsInstance processNotification: Thông báo] hoạt động hoàn hảo.
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
// Used when the application launches from a notification
LocalNotificationsController *sharedLocalNotificationsInstance = [LocalNotificationsController sharedLocalNotificationsInstance];
// Process the received notification
[sharedLocalNotificationsInstance processNotification:notification];
}
Hi laarsk. Tôi có cùng một vấn đề chính xác. tôi có thể nắm bắt thông báo khi ứng dụng ở trong foreGround hoặc backGround nhưng những điều thú vị xảy ra khi ứng dụng bị đóng. tôi nhấp vào thông báo, mở ứng dụng, ở lại trên màn hình trong 1 giây sau đó màn hình chuyển sang màu đen. tôi thấy ứng dụng ở chế độ nền nhưng không có dấu hiệu của thông báo cập nhật. Tôi thực sự không chắc chắn liệu Thông báo UILocalNotification * = (UILocalNotification *) [launchOptions objectForKey: UIApplicationLaunchOptionsLocalNotificationKey]; có hoạt động hay không. Bạn đã tìm thấy một giải pháp vững chắc cho điều này? – Add080bbA