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 に答える