如何管理iphone上的无意震动事件

时间:2012-05-21 14:40:00

标签: iphone event-handling

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

我发现如果我把手机放在口袋里,应用程序正在运行,它就会动摇并启动擦除操作。我使用模态警报等待用户确认,但从口袋中取出时始终看到此警报似乎是不可取的。

有人可以提供一个关于如何在口袋里发生时自动禁用它的想法吗?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以等待多个摇动手势发生。如果你没有在超时内得到第二个(或第三个或第n个)手势,那么忽略手势?最刻意的震动会导致多种姿势。