如何监听用户未退出APP但通过Home键在手机设置里改变了系统的时间?

用户虽未退出APP,但是当它按Home键退到后台时 ,会调用该方法:

- (void)applicationDidEnterBackground:(UIApplication *)application

在这个方法里我们可以监听系统的通知:

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(userChangeClock:) name:UIApplicationSignificantTimeChangeNotification object:nil];

然后在userChangeClock:方法里将用户手动设置的新时间同步到蓝牙设备端

- (void)userChangeClock:(NSNotification *)notify
{
    //将更改后的时间同步过去
    FDLog(@"吕佳珍", @"用户手动改变时间", @"将时间同步过去");
    [[BleDataManage sharedInstance] sendSetUp_synchronizationTime];
    [[BleDataManage sharedInstance] syncTimeZoneRelated];
    
}
当用户回到APP后会调用该方法:

- (void)applicationWillEnterForeground:(UIApplication *)application

在该方法里移除对系统通知的观察
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(userChangeClock:) name:UIApplicationSignificantTimeChangeNotification object:nil];

这里有两个通知UIApplicationSignificantTimeChangeNotification和NSSystemClockDidChangeNotification可供监听,但后者如果只改变时区不改变时间的话,无法识别到改变;前者无论是改变时区还是改变时间还是二者都进行改变,都能识别得到

最新文章

  1. monkey之monkey日志分析
  2. auto(c++11)
  3. JDBC性能分析与优化
  4. python 连接 mysql
  5. Teradata中fastload使用
  6. 【HDOJ】4775 Infinite Go
  7. (原)torch中微调某层参数
  8. oracle_根据ID(字符型)建立分区表
  9. javaWeb知识的回顾
  10. SQL语句使用时间和日期的函数
  11. jump堡垒机配置使用
  12. linux的wc -l 命令统计文件少一行(一般是windows文件)
  13. RabbitMQ学习笔记(六) RPC
  14. C#移除URL上指定的参数
  15. Kubernetes集群搭建之Master配置篇
  16. Mac 下 Java 多版本切换
  17. HDU 5844 LCM Walk(数学逆推)
  18. 冬瓜头答疑:磁盘阵列内部FC-AL的性能问题
  19. hdu 3191 次短路的长度和个数
  20. nginx做TCP代理实现群集

热门文章

  1. 分享一款开源堡垒机-jumpserver
  2. CentOS8.2安装docker
  3. Jenkins_创建任务以及定时启动(2)
  4. Chrome - XPath Helper插件 使用手工拖拽方式无法正常安装的解决办法
  5. Appium之xpath定位详解
  6. [爱偷懒的程序员系列]-Section 1. “懒”是一切需求的根源
  7. RHCSA 第二天
  8. 【重构前端知识体系之HTML】讲讲对HTML5的一大特性——语义化的理解
  9. gin中的多模板和模板继承的用法
  10. java基础编程练习题