我正在尝试使用Meteor和此Cordova插件 - https://github.com/don/cordova-plugin-ble-central - 添加到我的项目中,使用meteor add cordova
为了连接到蓝牙LE设备(TI Sensortag)。我想要做的就是在单击链接时连接到设备并显示消息。如何使用Meteor和Cordova BLE插件连接到BLE设备
我在我的模板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包中,或者有什么方法可以让插件有更多时间在成功或失败回调之前响应?任何帮助将非常感激!