vibrate static method

void vibrate({
  1. int duration = defaultVibrationDuration,
})

根据指定时长触发设备振动反馈

duration 振动时长(单位:毫秒),默认值为 defaultVibrationDuration

Implementation

static void vibrate({int duration = defaultVibrationDuration}) async {
  try {
    final now = DateTime.now();

    // 防抖机制:控制两次振动之间的最小间隔
    if (_lastVibrationTime == null ||
        now.difference(_lastVibrationTime!) >=
            const Duration(milliseconds: defaultMinVibrationInterval)) {
      // 使用 HapticFeedback 模拟振动
      await _performHapticFeedback(duration);
      _lastVibrationTime = now;
    }
  } catch (e) {
    loge("Failed to execute haptic feedback: $e");
  }
}