https://blog.csdn.net/yizhi_007/article/details/99550313
继上篇博文拓展。
现在开发 环境:
ionic 4 + cordova 9 + angular8 + ant design for angular;
正文
基于 angular 使用第三方库 的原理
https://angular.cn/guide/using-libraries
下面两种方法均可使用。
方法一: angular 集成 jQuery ,使用jquery 以js 方式调用 cordova 插件。
方法二:angular 把某个库添加到运行时的全局范围中 (Adding a library to the runtime global scope)取自 具体参考文中两个链接 https://angular.cn/guide/using-libraries。
其中监听 类 像battery status 插件 使用rxjs的formEvent 实现;
其他 ,注意 不同插件 ,使用本方式 略有区别 比如device 需要小写才能使用。
参考:https://blog.csdn.net/Ariel_201311/article/details/90402640
如果使用了 ionic 调用插件会相对容易些,部分可能有点小问题。
部分代码如下:
declare var QRScanner: any ;
declare var device: any;
getBattery() {
try {
fromEvent(window, 'batterystatus').subscribe(status => {
alert(JSON.stringify(status)+ 'getBatteryStatus info');
});
} catch (e) {
alert(JSON.stringify(e)+ 'getBatteryStatus error');
}
}
getDevice() {
try {
alert(JSON.stringify(device.uuid)+ 'getDevice info');
} catch (e) {
alert(JSON.stringify(device)+ 'getDevice error');
alert(JSON.stringify(e)+ 'getDevice error');
}
}
QRScanner 没有测试成功 可能时调用的方式有问题,没去细研究,有别的要忙,可以证明这种方式是可行的。
成功 device 与 battery status 两个测试通过。