我正在嘗試使用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包中,或者有什麼方法可以讓插件有更多時間在成功或失敗回調之前響應?任何幫助將非常感激!