未捕获类型错误:object# <Object>没有方法'振动'

Uncaught TypeError: Object #<Object> has no method 'vibrate'

本文关键字:Object 有方法 振动 错误 类型 object#      更新时间:2023-09-26

我在cordova 3.4.0上为android创建了一个hello world项目。不知何故,我的对话框/通知插件不能正常工作。我添加了这样的插件

cordova plugin add org.apache.cordova.dialogs

并在我的android manifest中添加了这一行:

<uses-permission android:name="android.permission.VIBRATE" />

当我测试插件时,它的方法"alert","prompt","confirm"answers"beep"工作得非常好,但是一旦我想调用像我在Cordova API中读到的振动方法,它就崩溃了。下面是我的代码:

$(document).ready(function(){
   document.addEventListener("deviceready", function() {
      navigator.notification.vibrate(1000);
   }, false);
})

我在日志中遇到这个错误信息:

Uncaught TypeError: Object #<Object> has no method 'vibrate'

我注销了导航器的所有方法。这样的通知:

var res = [];
for(var m in navigator.notification) {
     if(typeof navigator.notification[m] == "function") {
        res.push(m)
     }
}
console.log(res);

结果:"alert,confirm,prompt,beep,activityStart,activityStop,progressStart,progressStop,progressValue"

有人知道为什么在导航器中没有振动方法吗?通知吗?

编辑

我在res/config.xml中找到了这个条目:

<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>

由于某些原因,振动不再包含在通知插件中,而是包含在一个额外的插件中:

https://github.com/apache/cordova-plugin-vibration/blob/master/doc/index.md

相关文章: