uniapp 如何实现震动功能

在uniapp中如何实现震动功能?官方文档没有找到明确的API说明,是否有插件或方法可以实现这个功能?希望提供具体的代码示例和使用场景说明。

2 回复

在uni-app中,使用uni.vibrate()即可实现震动。例如:

uni.vibrateShort(); // 短震动
uni.vibrateLong(); // 长震动

注意:H5端不支持,需在App或小程序中使用。


在 UniApp 中,可以通过调用 uni.vibrate() 方法实现设备震动功能。此方法基于微信小程序等平台的震动 API 封装,兼容 H5、App 及小程序环境,但不同平台支持程度可能略有差异。

实现步骤:

  1. 调用震动 API:使用 uni.vibrate() 触发短震动(约15ms)。如果需要长震动或自定义时长,可使用 uni.vibrateLong() 或平台特定 API。
  2. 处理兼容性:在 H5 端可能不支持,建议先检查平台或使用条件编译。

示例代码:

// 短震动(推荐)
uni.vibrate({
  success: () => {
    console.log('震动成功');
  },
  fail: (err) => {
    console.log('震动失败:', err);
  }
});

// 长震动(部分平台支持)
uni.vibrateLong({
  success: () => {
    console.log('长震动成功');
  }
});

注意事项:

  • 平台差异
    • 微信小程序:支持短震动和长震动。
    • App 端:需确认原生模块权限,可能需配置震动权限(Android)。
    • H5 端:通常不支持,部分浏览器需用户手势触发。
  • 用户权限:在 App 中,Android 需在 manifest.json 添加 <uses-permission android:name="android.permission.VIBRATE" />
  • 体验优化:避免频繁调用,以免影响用户体验。

通过以上方法即可快速实现震动功能,建议在实际使用前测试目标平台的兼容性。

回到顶部