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可供监听,但后者如果只改变时区不改变时间的话,无法识别到改变;前者无论是改变时区还是改变时间还是二者都进行改变,都能识别得到

转载于:https://www.cnblogs.com/i-am-lvjiazhen/p/6178071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值