美文网首页
关于跳出程序后5分钟内不用输入程序解锁密码的实现

关于跳出程序后5分钟内不用输入程序解锁密码的实现

作者: 云无心 | 来源:发表于2015-09-28 15:32 被阅读315次

这个需求是产品提出的

  1. 本来我们是按了Home键之后,再进入程序就会弹出手势解锁界面,但是产品说需要5分钟之内不用弹出手势解锁.
  2. 最开始的想法是在
    - (void)applicationDidEnterBackground:(UIApplication *)application{}
    中加入一个线程,在5分钟之后改变一个BOOL值变量,然后根据变量来进行判断是否弹出,在无数坑之后,发现很难实现.
  3. 然后想到了一个好方法
  • 在进入后台时记录下推出时间
    - (void)applicationDidEnterBackground:(UIApplication *)application{
    [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationCenter object:nil];

        // 程序进入后台 记住进入后台的时间
        NSDate *startTime = [NSDate date];
        
        [[NSUserDefaults standardUserDefaults] setObject:startTime forKey:@"START"];
        
        [[NSUserDefaults standardUserDefaults] synchronize];
      }
    
  • 在回归前台时与退出后台时间比较
    - (void)applicationWillEnterForeground:(UIApplication *)application{
    // 程序回归前台,提取进入后台时间
    NSDate *finalTime = [NSDate date];
    NSTimeInterval final = [finalTime timeIntervalSince1970];

         // 进入后台时间 与 现在时间对比
         NSDate *startTime = [[NSUserDefaults standardUserDefaults] objectForKey:@"START"];
         NSTimeInterval start = [startTime timeIntervalSince1970];
         kDLog(@"退出后台到现在秒数是%f",final - start);
         // 如果大于5分钟,需要密码,小于5分钟,不需要密码
         if ((final - start) > 300) {
            // 需要进行的操作
         }else {
             
             return;
         }
       }
    
  1. 如上就是我想到的方法

相关文章

网友评论

      本文标题:关于跳出程序后5分钟内不用输入程序解锁密码的实现

      本文链接:https://www.haomeiwen.com/subject/crmwcttx.html