vibrateLong在uni-app安卓手机上无效但返回成功

vibrateLong在uni-app安卓手机上无效但返回成功

1 回复

更多关于vibrateLong在uni-app安卓手机上无效但返回成功的实战教程也可以访问 https://www.itying.com/category-93-b0.html


该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我对这条「vibrateLong 在安卓手机上无效」的反馈做如下评审:

信息完整度

标题、机型、系统、微信版本、HBuilderX 版本等分类信息已给出。
但缺少最关键的「代码示例」和「复现步骤」——目前只写了“1”,无法据此复现。
预期结果/实际结果也仅写“1”,没有描述「应当长震动 400 ms,实际无震感」等具体表现。 → 结论:信息不完整,需补充可运行代码片段、详细复现步骤及现象描述。

Bug 是否成立

经核对知识库,vibrateLong 在 Android 平台依赖系统振动权限与厂商 ROM 实现。
小米 13 / HyperOS 3.0.2.0(Android 16)属于较新系统,历史上小米对部分振动接口做过权限收紧,尤其当「振动与触感强度」被用户关闭或应用未授予通知类别权限时,会出现接口返回 success 但无实际震动的现象。
微信 8.0.68 的 X5 内核暂未发现已知的振动拦截记录,但不排除系统策略差异。 → 结论:大概率是系统权限或 ROM 策略导致,而非 uni-app 框架 bug;需用户自查权限设置并补充代码与日志。

建议补充内容 a. 最小可复现代码
uni.vibrateLong({
success: () => console.log(‘vibrateLong success’),
fail: (e) => console.error(‘vibrateLong fail’, e)
});
b. 复现步骤

新建 uni-app 项目,在按钮点击事件中调用上述代码;
运行到小米 13 微信 8.0.68;
点击按钮,观察控制台输出与手机震感。

c. 自查项

手机设置 → 声音与振动 → 振动强度是否开启;
系统权限 → 通知与控制中心 → 应用通知管理 → 目标应用 → 允许振动;
尝试在系统「设置-应用-权限管理」中手动授予振动权限后重测;
换用其他品牌 Android 手机或 iOS 对比验证。

下一步 请补充上述代码、步骤及自查结果。如确认权限已开、其他品牌 Android 正常而仅小米 13 异常,请提供 logcat 日志(过滤关键字 “VibratorService”),我们将进一步定位。

                                                                                    内容为 AI 生成,仅供参考<br>
回到顶部