HarmonyOS 鸿蒙Next 使用“按照预置振动效果”方式的振动回调都成功但手机不振动是怎么回事
HarmonyOS 鸿蒙Next 使用“按照预置振动效果”方式的振动回调都成功但手机不振动是怎么回事
按照文档实例开启预置振动:
import { vibrator } from '@kit.SensorServiceKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
// 查询是否支持'haptic.effect.soft'
vibrator.isSupportEffect('haptic.effect.soft', (err: BusinessError, state: boolean) => {
if (err) {
console.error(`Failed to query effect. Code: ${err.code}, message: ${err.message}`);
return;
}
console.info('Succeed in querying effect');
if (state) {
try {
// 触发马达振动
vibrator.startVibration({
type: 'preset',
effectId: 'haptic.effect.soft',
count: 1,
intensity: 50,
}, {
usage: 'unknown'
}, (error: BusinessError) => {
if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
} else {
console.info('Succeed in starting vibration');
}
});
} catch (error) {
let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}
}
})
} catch (error) {
let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}
2 回复
我验证是可以震动的,count为1不明显 改成10就明显了
vibrator.startVibration({
type: 'preset',
effectId: 'haptic.effect.soft',
count: 10,
intensity: 50,
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
作为IT专家,针对HarmonyOS鸿蒙Next使用“按照预置振动效果”方式的振动回调都成功但手机不振动的问题,以下是一些可能的原因及解决方案:
- 权限未申请:确保已在module.json5配置文件中申请ohos.permission.VIBRATE权限。这是使用振动功能所必需的。
- 振动设置:检查手机设置,确保振动功能已开启,并且没有被静音模式或只响铃模式禁用。
- 振动效果选择:确认所选的预置振动效果是否有效,或尝试更换其他振动效果。
- 软件冲突:某些应用程序可能会干扰振动功能。尝试卸载最近安装的应用程序,并重启手机查看问题是否解决。
- 系统异常:检查是否有可用的系统更新,并尝试更新软件以修复可能的系统异常。
如果以上步骤均无法解决问题,可能是硬件层面的问题,如振动马达故障。此时建议联系官网客服进行进一步的检测与维修。官网地址是:https://www.itying.com/category-93-b0.html。