如何在iphone-sdk中检测空闲用户

时间:2010-06-23 11:58:32

标签: iphone uiapplication python-idle

在我的应用程序中,如果用户空闲一段时间如何完成

,我想调用注销功能

这个答案对我不起作用 iPhone: Detecting user inactivity/idle time since last screen touch  如果我从UIApplication继承我的app委托类并实现

- (void)sendEvent:(UIEvent *)event

它给了我错误

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'There can only be one UIApplication instance.'

我在我的应用程序中找不到UIApplication的另一个实例

到目前为止我已经完成了

而不是

@interface IdleAppDelegate : NSObject <UIApplicationDelegate> {

我已将其更改为

@interface IdleAppDelegate : UIApplication<UIApplicationDelegate> {

并且在主要而不是

 int retVal = UIApplicationMain(argc, argv, nil, nil);

我已将其更改为

int retVal = UIApplicationMain(argc, argv, @"IdleAppDelegate", @"IdleAppDelegate");

还有什么可做的吗?

我收到了上述错误......我错过了什么......?

请帮助

由于

2 个答案:

答案 0 :(得分:2)

您的应用程序类也是一个应用程序委托类 - 这很糟糕。 UIApplicationMain()将创建自定义应用程序子类的实例,然后尝试其委托的实例 - 这也是自定义应用程序子类的实例。您应该将这些问题分开 - 是的,您的自定义应用程序子类需要子类UIApplication,但您的应用程序委托应该是一个单独的类NSObject

答案 1 :(得分:0)

试试这个

-(void)applicationWillResignActive:(UIApplication *)application

{
    NSLog(@"Application not Active");
    // FETCH THE CURRENT TIME 
}