一定分钟后自动锁定应用程序

Posted

技术标签:

【中文标题】一定分钟后自动锁定应用程序【英文标题】:AutoLock an App after a Certain Number of Minutes 【发布时间】:2012-04-25 17:47:50 【问题描述】:

我的问题..甚至不确定这是否可能,但其他人对此感到好奇...

我有一个应用程序,每次用户打开或从后台返回时都会提示输入密码。工作正常。

由于数据的敏感性,我希望能够创建一个自动锁定类型的功能,在不活动一定分钟后会提示用户输入数据或进入后台。如果在 30 秒内没有响应,我会让应用程序进入后台(如果被坏人发现,它只是留在屏幕上的数据类型可能会产生可怕的后果,而且我们都知道在我们让手机无人看管的情况下会发生这种情况) .

这甚至可能吗?如果是这样..一些一般的想法让我继续前进。

该应用程序是一个标签栏应用程序,其中每个标签栏项目都带有导航控制器。这很简单。

谢谢。

【问题讨论】:

Apple 通常建议手机上有敏感数据的用户应该设置密码锁。 正确..但是我不假设他们这样做..这就是我走这条路的原因..我的所有测试用户都使用密码功能..我正在寻求增强这更多。 【参考方案1】:

您可以打开一个 URL。将打开 Safari 的普通 HTTP URL,或由另一个应用程序处理的 URL。但这是相当糟糕的设计,Apple 可能会遇到问题。您应该只控制应用程序的行为,而不是系统。

不过,我不明白您希望从中获得什么。检测不活动,很好。但是为什么不在敏感数据的顶部放置一个不透明的视图,隐藏所有内容并提供一个按钮来解锁应用程序呢?为什么您特别需要应用程序进入后台?

【讨论】:

恐怕我不明白我为什么要打开一个网址?我想检测不活动并基本上使应用程序再次需要密码。就像苹果对手机所做的那样。我不想关闭应用程序,以防用户正在输入数据但分心了。所以它不必进入后台,所以它只需要像我从后台返回时一样提示输入密码。 opps...对不起..so...我想我在问如何检测不活动?【参考方案2】:

据我所知,没有办法只自愿进入后台。最好的近似方法可能是请求打开某个 URL,以便将您替换为浏览器。

除此之外,您还可以使用代码取消计时器并将其重新启动至您想要的任何分钟数。它会在每个“活动”上被调用。如果计时器到期,请推送一个模式视图控制器以获取您想要作为解锁的信息。决定并处理所有可能被视为活动的事情可能需要一些思考。 :)

【讨论】:

【参考方案3】:

每次用户与您的应用交互时,都会调用这样的方法

[lockoutTimer invalidate]  
lockoutTimer =  [NSTimer scheduledTimerWithTimeInterval:(30) target:self selector:@selector( method to ask the user to either enter data or make go a website) userInfo:nil repeats:YES];

转到网站代码:[[UIApplication sharedApplication] openURL:[NSURL URLWithString: myWebsiteURL ]];

【讨论】:

以上是关于一定分钟后自动锁定应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在一定的空闲时间后锁定 android 应用程序

尝试一定次数后锁定的 Python 密码系统

iPad 应用程序在锁定屏幕后变为非活动状态

10分钟后锁定和解锁屏幕时发生的崩溃如何解决?

Python密码系统在经过一定次数的尝试后锁定

iOS 8 在 10 分钟后停止在后台流式传输音频