我正在尝试使用Meteor和这个Cordova插件 - https://github.com/don/cordova-plugin-ble-central - 添加到我的项目中meteor add cordova,以便连接到蓝牙LE设备(TI Sensortag).我想要做的就是,当点击链接时,连接到设备并显示消息.
我在events模板javascript 的部分中有以下代码.
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;
});
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,有时代码工作,我得到一个'连接成功'警报,但更多时候它无法连接并显示'连接失败'警报.在我return在成功和失败回调中添加语句之前,它根本不起作用.
我正在Android设备(meteor run android-device --verbose)上调试这个,并且可以看到adb logcatCordova插件中的BLE Connect事件正在触发但是然后没有连接.我在两个不同的手机上调试同样的问题,当使用不是TI Sensortag的BLE设备时,我猜这是插件与Meteor交互方式的问题(也许流星不等待足够长的时间)成功回调?).
有没有人使用这个插件成功使用Meteor或任何人都可以提供任何线索,我做错了什么?我应该尝试将它包装在Meteor包中,还是有任何方法可以让我们在成功或失败回调之前给插件更多时间做出响应?任何帮助将非常感激!