我想要的是将通知提醒样式更改为“提醒” 但后来才知道我们不能以编程方式进行。
现在让我们来看看场景,
我有一个UILocalNotification
设置repeatinterval = kCFCalendarUnitMinute
。因此,如果我不取消通知窗口,它每分钟都会在通知窗口中显示新通知。
现在说,我已经让设备闲置了10分钟,然后我会被10个通知轰炸,尽管我已经设置了一个带有重复间隔的通知。
主要问题:是否有任何方式只显示最后一个通知。
就像我以同样的方式给出1分钟的例子一样,每7天重复一次。取消通知也将取消即将到来的下周通知。
所有这10个通知中唯一的共同点是每次都fireDate
nextFireDate
值不同。
因此我想将警报样式切换为“警报”,但由于我们无法通过代码更改它。
我需要在每次启动时提醒用户将通知提醒样式“更改为”提醒“默认情况下为Banner,直到他更改为止。
所以现在我有两个依赖问题:
None, Banner, Alerts
当前应用程序?注意: 对于第2点。
我想到的一件事是向用户显示到达那里的路径“设置 - >通知 - > MyAlarmApp - >提醒风格 - >提醒”。
欢迎任何其他建议。
答案 0 :(得分:3)
您无法以编程方式更改或检测通知的样式,只有用户在设置应用中更改此内容。
您也无法再打开设置应用程序,因此将由显示通知的用户决定。这完全不受你的控制。
如您所说,您可以要求用户更改为您的应用显示通知的方式。
答案 1 :(得分:1)
1.应用程序可以使用以下方法检查启用了哪些通知类型:
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
2.您现在无法以编程方式直接打开设置应用程序屏幕。
您可以在iOS 5.0到5.0.1版本中使用它。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
但它在iOS 5.1中被折旧了。您无法在iOS 5.1及更高版本中使用它。