只是想确保我走在正确的道路上。
我正在创建一个本地通知作为闹钟。当用户按下按钮时......我希望它能够用尽。
我想我必须在
中调用我的方法(BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions .. ..申请何时关闭
(void)applicationWillEnterForeground:(UIApplication *)应用程序 ...当应用程序在后台时...当用户点击正常时
有没有更好的方法来做我想要完成的事情......当用户在通知上点击时,请小心吗?
提前致谢
答案 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
}