国产探花免费观看_亚洲丰满少妇自慰呻吟_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監聽手機鎖屏狀態,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九龙坡区| 长寿区| 鸡西市| 旬邑县| 静海县| 平舆县| 泽普县| 昆山市| 镇平县| 乐亭县| 盈江县| 祁门县| 礼泉县| 乌兰县| 曲阜市| 靖州| 台州市| 景泰县| 嘉黎县| 柳林县| 连城县| 蕲春县| 黄冈市| 营山县| 利津县| 金秀| 皋兰县| 铜山县| 临西县| 读书| 工布江达县| 兴和县| 靖西县| 巴林左旗| 海安县| 南木林县| 哈尔滨市| 宁晋县| 玉林市| 铜陵市| 河南省|