我工作的地方锁定选项是included.My应用程序与密码screen.If开始我输入正确的密码然后导航到下一screen.If我不使用很长一段时间的应用程序进入休眠状态mode.When用户希望的应用现在运行应用程序,密码屏幕应该出现,用户必须输入代码again.Is这可能吗?是否有任何教程吗?请不介意张贴相关的代码,如果你已经提前完成it.Thanks。
Answer 1:
是ofcourse这是可能的。 你必须在调用的方法打开屏幕applicationDidBecomeActive
在你的应用程序委托。 这种方法被称为每一个应用程序从后台打开的时间。
所以每当用户启动已经在运行的应用程序,这种方法将被调用,这个,你可以先显示密码屏幕,之后相应的屏幕。
Answer 2:
当你的应用去使用背景您可以检测UIApplicationDidEnterBackgroundNotification
。 当它,记录日期和时间。 当用户打开应用程序的备份,您将收到UIApplicationWillEnterForegroundNotification
。 当您收到,比较录制日期和时间与当前的日期和时间。 如果这是太旧,显示密码屏幕。
Answer 3:
您在应用程序委托类有方法applicationDidEnterForeground
和applicationDidEnterBackground
都可以做你的编码有
Answer 4:
我已经开发同类型的应用程序,在那里我已经实现了这个事情,为此,我做了一类这样的
@interface CommonUIClass:NSObject
+(void)setCurrentViewController:(id)controller;
+(void)openPassWordProtectedScreen;
@end
和
@implementation CommonUIClass
static id currentViewControllerObj;
+(void)setCurrentViewController:(id)controller{
currentViewControllerObj = controller;
}
+(void)openPassWordProtectedScreen{
PROTECTED_CONTROLLER *view = [[PROTECTED_CONTROLLER alloc]init];
if ([currentViewControllerObj respondsToSelector:@selector(presentModalViewController:animated:)]) {
[currentViewControllerObj presentModalViewController:patternLock animated:NO];
}
}
@end
只需导入这个类的每个视图控制器,并把这个代码
-(void)viewWillApear{
[CommonUIClass setCurrentViewController:self];
[super viewWillApear];
}
而当应用程序就会在后台
-(void)applicationWillResignActive:(UIApplication *)application{
[CommonUIClass openPassWordProtectedScreen];
}
谢谢..
文章来源: Can we lock the app while app goes to sleep mode in IPhone?