【发布时间】:2015-06-08 11:01:21
【问题描述】:
我正在尝试使用 Meteor 和这个 Cordova 插件 -https://github.com/don/cordova-plugin-ble-central - 使用 meteor add cordova 添加到我的项目中,以便连接到蓝牙 LE 设备 (TI Sensortag)。我首先要做的就是在单击链接时连接到设备并显示一条消息。
我的模板 javascript 的 events 部分中有以下代码。
Template.measure.events({'click [data-action=scan-connect-stream]':
function(event, template) {
event.preventDefault();
if (Meteor.isCordova) {
Meteor.startup(function () {
ble.connect('24:09:00:DE:00:42',
function(){
alert('Connect success');
return;
},
function(){
alert('Connect failed');
return;
});
});
}
}
});
我的问题是,有时代码可以正常工作并且我收到“连接成功”警报,但通常它无法连接并显示“连接失败”警报。在我在成功和失败回调中添加return 语句之前,它根本不起作用。
我正在 Android 设备 (meteor run android-device --verbose) 上对此进行调试,并且可以通过 adb logcat 看到 Cordova 插件中的 BLE Connect 事件正在触发,但随后未连接。我在两部不同的手机上调试时遇到了同样的问题,并且在使用不是 TI Sensortag 的 BLE 设备时,所以我猜这是插件与 Meteor 交互方式的问题(也许 Meteor 等待的时间不够长成功回调?)。
有没有人在 Meteor 上成功使用过这个插件,或者任何人都可以提供任何线索来说明我做错了什么?我应该尝试将它包装在 Meteor 包中,还是有什么方法可以让插件在成功或失败回调触发之前有更多时间响应?任何帮助将不胜感激!
【问题讨论】:
标签: meteor bluetooth-lowenergy cordova-plugins