亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

iPhone的鎖屏監(jiān)測分為兩種方式監(jiān)聽:

1. 程序在前臺,這種比較簡單。直接使用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. 第二種是程序退后臺后,這時再鎖屏就收不到上面的那個通知了,需要另外一種方式, 以循環(huán)的方式一直來檢測是否是鎖屏狀態(tà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ài),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

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

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

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

    Objective-C中的語法糖示例詳解

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

    IOS10 遠程推送適配詳細介紹

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

    iOS實現(xiàn)一個意見反饋類型的輸入欄

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

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

    我們在使用一些應用的時候,在滑動一些聯(lián)系人的某一行的時候,會出現(xiàn)刪除、置頂、更多等等的按鈕,下面這篇文章主要就介紹了iOS用tableView實現(xiàn)左劃刪除功能的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • iOS中指紋識別常見問題匯總

    iOS中指紋識別常見問題匯總

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

    ios實現(xiàn)app強制更新功能

    本篇文章主要介紹了ios實現(xiàn)app強制更新功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • iOS App設計模式開發(fā)中對interpreter解釋器模式的運用

    iOS App設計模式開發(fā)中對interpreter解釋器模式的運用

    這篇文章主要介紹了iOS App設計模式開發(fā)中對interpreter解釋器模式的運用,示例為傳統(tǒng)的Objective-C寫成,需要的朋友可以參考下
    2016-04-04
  • 談談為何iOS開發(fā)別用宏來定義常量

    談談為何iOS開發(fā)別用宏來定義常量

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

    詳解IOS的Automatically Sign在設備上打包

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

最新評論