如何检查我们的应用程序的通知警报样式?

时间:2012-10-24 09:11:08

标签: ios uilocalnotification

我想要的是将通知提醒样式更改为“提醒” 但后来才知道我们不能以编程方式进行。

现在让我们来看看场景,

我有一个UILocalNotification设置repeatinterval = kCFCalendarUnitMinute。因此,如果我不取消通知窗口,它每分钟都会在通知窗口中显示新通知。

现在说,我已经让设备闲置了10分钟,然后我会被10个通知轰炸,尽管我已经设置了一个带有重复间隔的通知。

主要问题:是否有任何方式只显示最后一个通知。

就像我以同样的方式给出1分钟的例子一样,每7天重复一次。取消通知也将取消即将到来的下周通知。

所有这10个通知中唯一的共同点是每次都fireDate nextFireDate值不同。

因此我想将警报样式切换为“警报”,但由于我们无法通过代码更改它。

我需要在每次启动时提醒用户将通知提醒样式“更改为”提醒“默认情况下为Banner,直到他更改为止。

所以现在我有两个依赖问题:

  1. 有没有办法通过编码检查当前通知提醒样式,即None, Banner, Alerts当前应用程序?
  2. 如果1为YES,那么,有没有办法让用户直接从我们的应用程序直接进入设置通知警报样式屏幕。
  3. 注意: 对于第2点。

    我想到的一件事是向用户显示到达那里的路径“设置 - >通知 - > MyAlarmApp - >提醒风格 - >提醒”

    欢迎任何其他建议。

2 个答案:

答案 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及更高版本中使用它。

相关问题