2

我开始尝试使用抖动事件处理程序来擦除我的应用程序中的一些数据。我的抖动处理程序首先拦截子类 UIApplication 中的抖动事件。

我发现如果我在运行应用程序的情况下将手机放在口袋里,它会震动并启动擦除操作。我使用模式警报来等待用户确认,但从口袋中取出此警报时总是看到此警报似乎是不可取的。

有人可以提供一个想法,当它出现在口袋里时如何自动禁用它?

我的一个想法是使用超时。如果在一定时间内忽略警报,则忽略震动。我想知道是否还有其他解决方案。

4

2 回答 2

0

您可以等待多个摇晃手势发生。如果您在超时内没有得到第二个(或第三个或第 n 个)手势,那么忽略该手势?大多数故意摇晃会导致多个手势。

于 2012-05-21T15:36:20.827 回答
0

您可以使用环境光/接近传感器。轮询它以查看它是否检测到光,如果它确实启动了擦除,如果不是则不。这将解决“口袋里”的问题。

于 2012-05-21T15:16:36.633 回答