我想知道是否可以将最后 5 个(例如)已读通知保留在苹果的通知中心(当您在顶部附近向下滑动时显示的通知)
我注意到,一旦您单击通知并“阅读”它,它就会从列表中消失。这是由应用程序以编程方式完成的,它向设备发送一条消息,通知已被阅读并且可以删除它,还是由设备自动完成并且您完全无法控制它。
一位客户说它看到一个应用程序执行此操作并将最后 5 个通知保留在那里,无论它们是否被访问但到目前为止我没有发现任何迹象表明这是可能的
我想知道是否可以将最后 5 个(例如)已读通知保留在苹果的通知中心(当您在顶部附近向下滑动时显示的通知)
我注意到,一旦您单击通知并“阅读”它,它就会从列表中消失。这是由应用程序以编程方式完成的,它向设备发送一条消息,通知已被阅读并且可以删除它,还是由设备自动完成并且您完全无法控制它。
一位客户说它看到一个应用程序执行此操作并将最后 5 个通知保留在那里,无论它们是否被访问但到目前为止我没有发现任何迹象表明这是可能的
好吧,这不是一个非常完整的答案,但我的一位同事设法完成了这项工作。他所做的只是停止使用徽章编号进行通知。收到通知时不设置徽章编号,读取通知时不设置徽章编号。
[编辑]似乎当您在收到通知后将徽章编号设置为 0 时,iOS 会自动清除通知,这是一个未记录的功能。
您只能“阅读”发送到您的应用程序的通知,并且只有当用户明确使用他们的“操作”按钮打开您的应用程序时。如果这是您可以使用的场景:
// Handle local notification if received
if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey] != nil) {
NSLog(@"received a local notification = %@", [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]);
// Do something, save it..
}
// Handle remote notification if received
if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey] != nil) {
NSlog(@"received a remote notification = %@", [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]);
// Do something, save it..
}
或其他替代方法(NotificationCenter 等)在打开应用程序时读取通知并永久保存。