我有以下代码的服务:

onCreate方法:

@Override
public void onCreate() {
    super.onCreate();
    this.vibrator = ((Vibrator) getSystemService(Context.VIBRATOR_SERVICE));
}


监听电话翻转事件的onPhoneFlipMethod:

this.vibrator.vibrate(100);


vibrator是一个实例变量,声明为:private Vibrator vibrator;

现在的问题是,当手机翻转时,振动器会保持振动,而不是在100毫秒后停止。是因为操作系统一次又一次发送了翻转事件。

如何解决这个问题。

最佳答案

不确定为什么会发生这种情况,但是弄清楚为什么振动太长的第一步是在onPhoneFlip方法中放入某种调试代码(断点,Log.d,Toast等),该方法将让您知道它是否不断被呼唤。

10-08 16:42