【问题标题】:HarmonyOS wearable vibrator not activatingHarmonyOS 可穿戴振动器未激活
【发布时间】:2021-05-20 12:23:59
【问题描述】:

我正在使用 JS 框架创建一个 HarmonyOS 可穿戴应用程序,并且我想使用振动器。手表肯定有振动器,因为我在设置应用中使用滚动条时能感觉到它。

所以我在config.json 文件中请求了system_grant ohos.permission.VIBRATE 权限,如here 所述

"module": {
...
    "reqPermissions": [
      {
        "name": "ohos.permission.VIBRATE",
        "reason": "Make vibrates"
      }
    ]
...
}

那么像这样使用进口振动器应该很简单

import vibrator from '@system.vibrator';
export default {
    // ...
    onShow() {
        console.log("VIBRATOR");
        vibrator.vibrate({
            mode : "long",
            success: () => console.debug("Vibrator Success"),
            fail : (data, code) => console.log("Vibrator handle fail, data = ${data}, code = ${code}"),
            complete : () => console.debug("Vibrator Complete")
        });
    }
    // ...
}

我确实在HiLog 中获得了VIBRATOR 登录,但在振动器回调中没有其他日志,设备也不振动。

有谁知道我做错了什么?

编辑: 我注意到VIBRATOR 日志之后有一堆错误日志。我不明白它们的意思,所以我把它们贴在这里。

D 03B00/JSApp: app Log: VIBRATOR
E 03900/Ace: [<private>      (<private>)] ace Log: [JS Framework] Failed to invoke the event handler of "viewappear" on div (_root):
E 03900/Ace:  TypeError: value has no property
E 03900/Ace: [<private>      (<private>)] Qjs FireAsyncEvent FAILED !! jsCall: <private>
E 03900/Ace: [<private>       (<private>)] [DUMP] <private>
E 03900/Ace: [<private>       (<private>)] <private>

【问题讨论】:

    标签: wearables harmonyos


    【解决方案1】:

    JS API 文档是基于可穿戴设备编写的。智能设备的标准用法如下:

    vibrator.vibrate({
        mode: "short"
    });
    

    或

    vibrator.vibrate();
    

    【讨论】:

    • 嗨@shirley。我按照您指示的方式尝试了它,但得到了相同的结果。我注意到我在VIBRATOR 日志之后收到了一堆错误日志,所以我更新了我的问题并将它们添加到那里。
    • hi@Daniel,能否请您提供您的 SDK 版本和 HarmonyOS 版本供我们检查?如下所示:SDK(API 版本 5)js 2.1.1.20;观看版本 2.0.0.118; HarmonyOS 版本:2.0.0;设备版本:XXX
    • 嗨@shirley。看来我的操作系统版本较旧。我收到了更新,现在振动器似乎可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多