国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS監聽手機鎖屏狀態

2020-07-26 02:49:38
字體:
來源:轉載
供稿:網友

iPhone的鎖屏監測分為兩種方式監聽:

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. 第二種是程序退后臺后,這時再鎖屏就收不到上面的那個通知了,需要另外一種方式, 以循環的方式一直來檢測是否是鎖屏狀態,會消耗性能并可能被蘋果掛起(有可能沒作用);

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監聽手機鎖屏狀態,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宕昌县| 陇西县| 上思县| 油尖旺区| 建水县| 洮南市| 花垣县| 江油市| 侯马市| 青龙| 大悟县| 开远市| 文昌市| 晋城| 陵川县| 洛南县| 广丰县| 芷江| 仁寿县| 万全县| 黄平县| 梅河口市| 祁东县| 棋牌| 老河口市| 乌鲁木齐县| 扬中市| 兴业县| 江油市| 明光市| 长春市| 澳门| 大关县| 额济纳旗| 东海县| 平谷区| 左云县| 文登市| 封开县| 襄樊市| 萍乡市|