当设备时区更改时,我的应用程序可以收到任何通知吗?我想在我的应用程序处于前台时收到通知。NSTimezone 对我不起作用,因为我必须不断检查时区。
问问题
9849 次
2 回答
27
UIApplicationDelegate
有一个方法被applicationSignificantTimeChange:
调用,当时间发生重大变化时被调用。
文档中列出的示例是:
重大时间变化的示例包括午夜的到来、运营商的时间更新以及夏令时的变化
但我认为时区变化算作重大的时间变化。
文档还说,如果在您的应用程序处于后台时发生时间变化,您将在您转到前台时得到它
如果您的应用程序当前处于挂起状态,则此消息将排队等待您的应用程序返回到前台,此时它会被传递。
您还可以收听UIApplicationSignificantTimeChangeNotification
发布以在您的应用程序的其他任何地方获取相同的信息。
于 2013-05-03T07:05:53.910 回答
21
只是听
NSSystemTimeZoneDidChangeNotification
。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(timeZoneChanged) name: NSSystemTimeZoneDidChangeNotification object:nil];
并记住取消注册,例如在 dealloc 方法中。
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSSystemTimeZoneDidChangeNotification object:nil];
于 2015-01-05T12:53:42.967 回答