如何使用 Cordova 插件?

Posted

技术标签:

【中文标题】如何使用 Cordova 插件?【英文标题】:How do I use Cordova plugins? 【发布时间】:2019-01-11 05:34:12 【问题描述】:

Cordova's Battery Status plugin page 上的说明说我只需要运行cordova plugin add cordova-plugin-battery-status

当我这样做时,cordova 确实添加了

<plugin name="cordova-plugin-battery-status" spec="^2.0.2" /> 到我的 config.xml 文件中 我的插件文件夹中名为 cordova-plugin-battery-status 的目录, 一个同名的 node_modules 文件夹 和 "cordova-plugin-battery-status": "^2.0.2", 作为我的 package.json 中的依赖项

说明建议这个例子:

window.addEventListener("batterystatus", onBatteryStatus, false);

function onBatteryStatus(status) 
    console.log("Level: " + status.level + " isPlugged: " + status.isPlugged);
 

...我把它放在我的 Vue 项目的 main.js 文件中进行尝试。

说明说这个插件与浏览器平台兼容。所以我运行了cordova platform add browsercordova run browser,它们启动了应用程序的本地主机实例。但是,插入和拔出计算机无济于事。

当我通过单击按钮触发插件时,出现类型错误:“无法读取未定义的属性‘级别’”

我尝试了其他插件,我的核心非插件 Cordova 功能运行良好,但我无法让 cordova 插件正常工作。

使用 Ionic。我正在使用 Vue、OnsenUI、firebase 和 Cordova CLI。

我想我需要在我的 main.js 文件中初始化这个插件和/或编写一个 import/from 语句,但安装说明没有说明这一点。

【问题讨论】:

大胆猜测:虽然从某种意义上说是兼容的,但它不会崩溃,但并不能保证所有设备和平台上的所有浏览器都具有必要的 API 来为您提供该信息。在我看来,这听起来像是你只会在一小部分目标上得到的那种东西。 【参考方案1】:

这个页面https://www.npmjs.com/package/cordova-plugin-battery-status说

这个插件提供了旧版本的实现 电池状态事件 API。

在网络上查找电池状态事件 API 的第一个结果是此页面 https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API,这就是说

已过时 此功能已过时。虽然它可能在某些情况下仍然有效 浏览器,不鼓励使用它,因为它可以随时删除 时间。尽量避免使用它。

我还发现有一个 phonegap-plugin-battery-status 插件https://github.com/phonegap/phonegap-plugin-battery-status 可能使用较新版本的电池 api https://www.w3.org/TR/battery-status/。

也许您可以尝试删除 cordova-plugin-battery-status 并尝试 phonegap-plugin-battery-status。

【讨论】:

谢谢!是否可以在 Cordova CLI 创建的项目中使用 phonegap 插件?我确实在全球范围内安装了 phonegap cli,我运行了 phonegap plugin add phonegap-plugin-battery-status ...但在运行 npm run buildcordova build ios --buildFlag='-UseModernBuildSystem=0' 之后,xcode 存档失败,它在安装 phonegap 插件之前工作...

以上是关于如何使用 Cordova 插件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React JS 页面中使用 Cordova 插件

如何在ionic 3中使用cordova插件蓝牙?

如何使用sdk创建cordova插件

H5页面中如何调用cordova的插件?

如何添加插件新的cordova /phonegap?

如何使用 Cordova 相机插件拍摄多张照片