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

首頁 > 系統 > iOS > 正文

iOS監聽手機鎖屏狀態

2019-10-21 18:46:39
字體:
來源:轉載
供稿:網友

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资中县| 清丰县| 开化县| 黑山县| 安平县| 宁陕县| 舞钢市| 桦南县| 广宁县| 萨迦县| 科技| 宣城市| 香港| 南漳县| 兴隆县| 宁夏| 全州县| 长葛市| 奇台县| 贵州省| 宜宾市| 石林| 宜兰县| 三门峡市| 紫金县| 巴彦县| 博湖县| 屯留县| 阳东县| 和平县| 易门县| 鹿泉市| 荣昌县| 毕节市| 兴仁县| 新巴尔虎右旗| 和田县| 连城县| 通海县| 高邑县| 黑龙江省|