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可供監聽,但后者如果只改變時區不改變時間的話,無法識別到改變;前者無論是改變時區還是改變時間還是二者都進行改變,都能識別得到


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM