通知启动自定义方法/类

时间:2013-02-11 00:41:44

标签: ios uilocalnotification localnotification

只是想确保我走在正确的道路上。

我正在创建一个本地通知作为闹钟。当用户按下按钮时......我希望它能够用尽。

我想我必须在

中调用我的方法
  • (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions .. ..申请何时关闭

  • (void)applicationWillEnterForeground:(UIApplication *)应用程序 ...当应用程序在后台时...当用户点击正常时

有没有更好的方法来做我想要完成的事情......当用户在通知上点击时,请小心吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

根据本地和推送通知的文档,您应该在两种情况下都致电application:didFinishLaunchingWithOptions:

  

处理本地和远程通知

     

让我们回顾一下操作提供的可能情况   本地通知或应用程序的远程通知。

     

当应用程序未在前台运行时,将传递通知。   在这种情况下,系统显示通知,显示警报,标记图标,或者播放声音。   作为呈现通知的结果,用户点击警报的操作按钮或点击(或点击)应用程序图标。

     

如果点击操作按钮(在运行iOS的设备上),系统将启动应用程序,应用程序将调用它   委托的应用程序:didFinishLaunchingWithOptions:方法(如果   实现);它传递通知有效负载(用于远程   通知)或本地通知对象(对于本地通知)   通知)。   如果在运行iOS的设备上轻触应用程序图标,则应用程序会调用相同的方法,但不会提供相关信息   通知。

答案 1 :(得分:1)

他们不能被迫打电话。只有监控。

  

UIApplicationDelegate协议

     

这些方法为您提供有关关键事件的信息   应用程序的执行,例如何时完成启动,何时执行   即将被终止,当记忆力低时,以及重要变化时   发生。实施这些方法可以让您有机会做出回应   这些系统事件并做出适当的回应。

如果你想要ViewController获取Notification那么方法。试试这个

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidFinishLaunching:) UIApplicationDidFinishLaunchingNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil];

- (void)applicationDidFinishLaunching:(NSNotification *)noti
{
    //do stuff
}

- (void)applicationEnterForeground:(NSNotification *)noti
{
    //do sutff
}