zoukankan      html  css  js  c++  java
  • iOS 如何监听用户在手机设置里改变了系统的时间?

    如何监听用户未退出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];


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

  • 相关阅读:
    QT基础知识总结(一)
    二叉树知识总结(二)
    二叉树知识总结(一)
    C++ 封装,继承,多态总结
    Win API学习笔记——文件系统(二)
    Win API学习笔记——文件系统(一·)
    Go项目: package project/name is not in GOROOT
    创建`Vue-CLI`项目
    npm与yarn介绍与常用命令
    Powershell-"无法加载文件,因为在此系统上禁止运行脚本"
  • 原文地址:https://www.cnblogs.com/i-am-lvjiazhen/p/6178071.html
Copyright © 2011-2022 走看看