欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS監(jiān)聽(tīng)手機(jī)鎖屏狀態(tài)

 更新時(shí)間:2017年05月03日 09:47:08   作者:bowei-iOS  
iPhone的鎖屏監(jiān)測(cè)分為兩種方式監(jiān)聽(tīng),本文給大家介紹的非常詳細(xì),具體內(nèi)容詳情大家通過(guò)本文詳細(xì)了解下吧

iPhone的鎖屏監(jiān)測(cè)分為兩種方式監(jiān)聽(tīng):

1. 程序在前臺(tái),這種比較簡(jiǎn)單。直接使用Darwin層的通知就可以了:

#import <notify.h>
#define NotificationLock CFSTR("com.apple.springboard.lockcomplete")
#define NotificationChange CFSTR("com.apple.springboard.lockstate")
#define NotificationPwdUI CFSTR("com.apple.springboard.hasBlankedScreen")
static void screenLockStateChanged(CFNotificationCenterRef center,void* observer,CFStringRef name,const void*object,CFDictionaryRef userInfo)
{
  NSString* lockstate = (__bridge NSString*)name;
  if ([lockstate isEqualToString:(__bridge NSString*)NotificationLock]) {
    NSLog(@"locked.");
  } else {
    NSLog(@"lock state changed.");
  }
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  // Override point for customization after application launch.
  CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, NotificationLock, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
  CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, NotificationChange, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
  //setScreenStateCb();
  return YES;
}

2. 第二種是程序退后臺(tái)后,這時(shí)再鎖屏就收不到上面的那個(gè)通知了,需要另外一種方式, 以循環(huán)的方式一直來(lái)檢測(cè)是否是鎖屏狀態(tài),會(huì)消耗性能并可能被蘋(píng)果掛起(有可能沒(méi)作用);

static void setScreenStateCb()
{
  
  uint64_t locked;
  __block int token = 0;
  notify_register_dispatch("com.apple.springboard.lockstate",&token,dispatch_get_main_queue(),^(int t){
  });
  notify_get_state(token, &locked);
  NSLog(@"%d",(int)locked);
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
  while (YES) {
    setScreenStateCb();
    sleep(1);
  }
}

以上所述是小編給大家介紹的iOS監(jiān)聽(tīng)手機(jī)鎖屏狀態(tài),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • iOS經(jīng)驗(yàn)之初始化方法中不該設(shè)置self.view的屬性淺析

    iOS經(jīng)驗(yàn)之初始化方法中不該設(shè)置self.view的屬性淺析

    這篇文章主要給大家介紹了關(guān)于iOS經(jīng)驗(yàn)之初始化方法中不該設(shè)置self.view的屬性的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-09-09
  • Objective-C中的語(yǔ)法糖示例詳解

    Objective-C中的語(yǔ)法糖示例詳解

    開(kāi)發(fā)過(guò)程中我特別喜歡用語(yǔ)法糖,原因很簡(jiǎn)單,懶得看到一堆長(zhǎng)長(zhǎng)的代碼,但語(yǔ)法糖簡(jiǎn)單卻不那么簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于Objective-C中語(yǔ)法糖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-01-01
  • IOS10 遠(yuǎn)程推送適配詳細(xì)介紹

    IOS10 遠(yuǎn)程推送適配詳細(xì)介紹

    這篇文章主要介紹了IOS10 遠(yuǎn)程推送適配詳細(xì)介紹的相關(guān)資料,iOS10推送新增了UserNotifications Framework,這里主要介紹如何實(shí)現(xiàn)遠(yuǎn)程推送,需要的朋友可以參考下
    2016-12-12
  • iOS實(shí)現(xiàn)一個(gè)意見(jiàn)反饋類(lèi)型的輸入欄

    iOS實(shí)現(xiàn)一個(gè)意見(jiàn)反饋類(lèi)型的輸入欄

    這篇文章主要給大家介紹了關(guān)于利用iOS實(shí)現(xiàn)一個(gè)意見(jiàn)反饋類(lèi)型的輸入欄,通過(guò)文中實(shí)現(xiàn)的輸入欄會(huì)用戶(hù)一個(gè)很好的體驗(yàn)效果,文中給了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • iOS開(kāi)發(fā)之tableView實(shí)現(xiàn)左滑刪除功能

    iOS開(kāi)發(fā)之tableView實(shí)現(xiàn)左滑刪除功能

    我們?cè)谑褂靡恍?yīng)用的時(shí)候,在滑動(dòng)一些聯(lián)系人的某一行的時(shí)候,會(huì)出現(xiàn)刪除、置頂、更多等等的按鈕,下面這篇文章主要就介紹了iOS用tableView實(shí)現(xiàn)左劃刪除功能的方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • iOS中指紋識(shí)別常見(jiàn)問(wèn)題匯總

    iOS中指紋識(shí)別常見(jiàn)問(wèn)題匯總

    最近在公司做了一個(gè)app要使用指紋支付的功能,在實(shí)現(xiàn)過(guò)程中遇到各種坑,今天小編抽抗給大家總結(jié)把遇到問(wèn)題匯總特此分享到腳本之家平臺(tái),需要的朋友參考下
    2016-12-12
  • ios實(shí)現(xiàn)app強(qiáng)制更新功能

    ios實(shí)現(xiàn)app強(qiáng)制更新功能

    本篇文章主要介紹了ios實(shí)現(xiàn)app強(qiáng)制更新功能,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • iOS App設(shè)計(jì)模式開(kāi)發(fā)中對(duì)interpreter解釋器模式的運(yùn)用

    iOS App設(shè)計(jì)模式開(kāi)發(fā)中對(duì)interpreter解釋器模式的運(yùn)用

    這篇文章主要介紹了iOS App設(shè)計(jì)模式開(kāi)發(fā)中對(duì)interpreter解釋器模式的運(yùn)用,示例為傳統(tǒng)的Objective-C寫(xiě)成,需要的朋友可以參考下
    2016-04-04
  • 談?wù)劄楹蝘OS開(kāi)發(fā)別用宏來(lái)定義常量

    談?wù)劄楹蝘OS開(kāi)發(fā)別用宏來(lái)定義常量

    最近在工程里看到很多不規(guī)范的使用,于是來(lái)寫(xiě)一篇博客來(lái)讓不是很清楚的小朋友們,使用正確的規(guī)范開(kāi)發(fā)ios,少埋點(diǎn)坑。
    2016-08-08
  • 詳解IOS的Automatically Sign在設(shè)備上打包

    詳解IOS的Automatically Sign在設(shè)備上打包

    本篇教程主要給大家分享了IOS的Automatically Sign如何在設(shè)備上直接打包,有需要的朋友參考學(xué)習(xí)下。
    2018-01-01

最新評(píng)論