Onsen 2 - Monaca CLI - Cordova 插件奇怪的行为

Onsen 2 - Monaca CLI - Cordova plugins weird behavior

我最近开始使用 Onsen-UI 2 和 Monaca CLI 工具。这是一个非常棒的工具,非常有用。虽然我发现了一两个小问题,但我认为我可以通过查看迁移指南来解决其中的大部分问题。

我似乎无法弄清楚的最大问题是插件。我使用 Monaca CLI 创建我的应用程序(Plain JS Onsen 2.0 应用程序),然后继续使用普通的 cordova 命令添加我的平台和插件。不要问我为什么,我就是喜欢这样。为 iOS 构建时,我得到构建 "Success" 状态,我的应用程序在模拟器和我的设备上运行良好。问题是当我尝试使用插件提供的功能时。

我尝试实施 Card.io 插件(安装成功),我的应用程序启动得很好。我有一个函数可以在设备上触发,准备检查插件是否正常工作,一个 "canScan" 函数,它显示一个带有结果的警报。然而,即使设备准备就绪,也没有任何反应。奇怪的行为是这样的:当我将应用程序置于后台,或打开多任务处理 window(双击主页按钮)然后返回应用程序时,警报会显示我可以扫描的消息。收到此消息后,我应该可以点击一个按钮并出现 Card.io 界面,但是再次点击按钮时没有任何反应。只有当我和以前一样(进入多任务处理并返回到应用程序)时,才会出现 Card.io 界面,但冻结了应用程序。

我认为我的插件实现有问题,即我的代码有误,但其他插件也会出现这种情况。

关于这里发生的事情有什么想法吗?

这是我的 "onDeviceReady" 函数:

document.addEventListener('deviceready', function() {
    CardIO.canScan(onCardIOCheck);
}, false);

我是这样安装插件的:

$ cordova plugin add <plugin-name>

我还尝试通过 Monaca 工具安装插件:

$ monaca plugin add <plugin-name>

任何帮助或建议将不胜感激!

将您的 onDeviceReady 函数移到单独的 .js 文件中,看看是否能解决问题。