我已经安装了Rand Dusing的BLE Cordova插件,并按照他的例子来初始化蓝牙,但我无法理解。这是我的index.js
var blePlugin = window.bluetoothle;
function bleInitialize() {
var paramsObj = {
request: true,
statusReceiver: true
};
document.getElementById("BTHWStatus").innerHTML = 'Initialze BLE: Checking BT status...';
blePlugin.initialize(bleInitializeSuccess, bleInitializeError, paramsObj);
document.getElementById("BTHWStatus").innerHTML = 'Initialze BLE: Complete';
return false;
}
function bleInitializeSuccess(obj) {
if (obj.status == "enabled")
document.getElementById("BTHWStatus").innerHTML = 'BT is turned ON';
else
document.getElementById("BTHWStatus").innerHTML = 'BLE:Initialize: Unexpected error';
}
function bleInitializeError(obj) {
document.getElementById("BTHWStatus").innerHTML = "Initialize Error : " + JSON.stringify(obj);
}
这是index.html
<h3>Bluetooth Test App</h3>
<br>
<div>
<a id="BTHWStatus">BT is turned OFF</a>
<br/>
<br/>
<span>Enable/Disable Bluetooth :</span>
<input type="checkbox" id="BTSelect">
<button id="BTApply">Apply</button>
<br/>
</div>
有人可以告诉我,index.js
文件中是否有任何不正确的内容可能导致该插件无法正常工作?我已使用命令cordova plugin
验证插件是否已在命令提示符中正确安装。
回调函数编码是正确的还是我错过了什么?我可以在应用页面上使用blePlugin.initialize
功能打印Initialze BLE: Checking BT status...
,但之后没有任何内容。
感谢您的帮助。
答案 0 :(得分:0)
您的应用程序代码是否已执行after the deviceready
event?从您的代码中我无法看到它,所以问题可能就是这个。
如果您不等待deviceready
事件,则js代码将起作用,但Cordova相关功能将无法使用。