我创建了这个简单的应用程序,用户单击一个按钮,导致执行振动模式。
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(pattern, -1);
但是,当用户按下该按钮时,它再次启动图案,这导致重叠的振动模式。我希望用户能够按下按钮,这将导致图案重新开始,而不会与旧图案混合。
我在v.vibrate()之前尝试过使用v.cancel()。这根本没有帮助。我想从我的基本理解v.cancel()启动异步,这意味着取消不会马上发生。我曾想过修改设置,但我发现,它不会有帮助(我认为)。我甚至想过将振动代码添加到一个单独的线程或其他东西然后完全杀死线程(这会有帮助)。我必须学习如何处理线程。由于项目截止日期,我正在努力做到这一点。如果主题想法适合某人,请告诉我,以便我学习线程。
我很困惑为什么SDK难以重置振动或完全停止振动。