使用串行插件时出现 Ionic Capacitor Android 错误 - 连接到外部设备时出现 Cordova_not_available

Posted

技术标签:

【中文标题】使用串行插件时出现 Ionic Capacitor Android 错误 - 连接到外部设备时出现 Cordova_not_available【英文标题】:Ionic Capacitor Android error when using Serial plugin - Cordova_not_available when connecting to external device 【发布时间】:2021-09-13 17:06:03 【问题描述】:

描述错误

我正在尝试在带电容器的离子上运行串行库。但是,在执行代码时,我收到错误 Native:尝试调用 Serial.requestPermission,但 Cordova 不可用。确保包含 cordova.js 或在设备/模拟器中运行 cordova_not_available

代码

this.serial.requestPermission().then(() => 
           this.serial.open(
                     baudRate: 9800,
                     dataBits: 4,
                     stopBits: 1,
                     parity: 0,
                     dtr: true,
                     rts: true,
                     sleepOnPause: false
              ).then(() => 
            console.log('Serial connection opened');
            );
        ).catch((error: any) => console.log(error));
    

复制

    cordovarduino / cordova 的版本

"cordovarduino": "0.0.10", cordova - (不使用,但为了测试,尝试通过 npm install 安装它,但错误仍然存​​在。请记住,这不是一个 cordova 项目,而是一个电容器项目)

    您使用的电路板类型和编码

真实设备:Herelink RC。 模拟器:Pixel3 API 25

预期行为

查找外部设备。当没有连接 USB 时,会出现“找不到 USB”或类似的情况。

附加上下文

注意 1:在 API 29 (android 10) 上运行正常,但我们的真实设备 (HereLink) 仅运行 Android 7.1.2。

ionic info

离子:

Ionic CLI:6.16.1 (/home/grolo/.nvm/versions/node/v14.16.1/lib/node_modules/@ionic/cli) 离子框架:@ionic/angular 5.6.7 @angular-devkit/build-angular:0.1102.13 @angular-devkit/原理图:11.2.13 @角/cli:11.2.13 @ionic/angular-toolkit:3.1.1

电容器:

电容器 CLI:3.0.0 @电容器/机器人:3.0.2 @电容器/核心:3.0.0 @capacitor/ios:3.0.0

实用程序:

cordova-res : 未全局安装 本机运行(可用更新:1.4.0):1.3.0

系统:

NodeJS : v14.16.1 (/home/grolo/.nvm/versions/node/v14.16.1/bin/node) npm:6.14.12 操作系统:Linux 5.4

【问题讨论】:

【参考方案1】:

确保包含 cordova.js 或在设备/模拟器中运行 cordova_not_available。

通过关注这个错误...我通常观察到我们的 代码功能,方法,插件。可能是你试图在你的 浏览器。只需连接 USB 并在设备中运行。如果这是不可能的 尝试在模拟器中运行从android studio创建它..

就像使用位置和相机一样,您需要在设备或模拟器中运行..

但模拟器可能无法像实际设备那样获得响应。 希望你明白我要向你解释的内容

【讨论】:

以上是关于使用串行插件时出现 Ionic Capacitor Android 错误 - 连接到外部设备时出现 Cordova_not_available的主要内容,如果未能解决你的问题,请参考以下文章

将 Ionic Native / Cordova 插件与 Ionic (React) & Capacitor 一起使用的正确方法是啥?

Ionic 4 在 iOS 设备上运行应用程序时出现电容器错误

Capacitor v3 插件不适用于 android 构建

将 iOS 事件传递给 Ionic/Capacitor webview

从 Android 意图打开 Ionic (Capacitor) 应用程序中的特定页面

离子 5 / 电容器 @capacitor/motion 坚持 DeviceMotionEvent.requestPermission