0

我在应用程序中播放音频文件,所以当手机锁定和屏幕关闭时它不会关闭。但是,当我想检测抖动时它不起作用。

当应用程序打开和屏幕锁定(未关闭)时,它可以正常工作。该应用程序肯定正在运行,因为日志工作正常。

任何想法?

我使用以下代码:

-(BOOL)canBecomeFirstResponder {
    //make it respond to shake events
    return YES;
}

- (void)viewDidAppear:(BOOL)animated {
    //make it respond to shake events
    [self becomeFirstResponder];
}

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    if (event.type == UIEventSubtypeMotionShake) {
        NSLog(@"Shake detected");
    }
}
4

3 回答 3

1

监控加速度计会导致手机消耗额外的电量,因此在手机锁定时将其禁用。我不相信有办法解决这个问题。

于 2011-08-31T10:15:30.970 回答
0

我不认为你可以UIEvents在屏幕关闭时捕捉。

于 2011-08-31T10:11:00.517 回答
0

这会对你有所帮助。

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

这不会让屏幕关闭。

希望这可以帮助。

编辑:

但即使我也和阿克沙伊有同样的感觉。屏幕关闭时无法捕获 UIEvent。

于 2011-08-31T09:40:36.743 回答