本帖最后由 funjun 于 2016-10-31 14:20 编辑
uexBluetoothLE官方的蓝牙插件在调用uexBluetoothLE.connect()方法连接设备的时候非常艰难,10连9不上,偶尔偶尔能连上一次
然后uexBluetoothLE.cbConnect()连接成功的回调也不会执行。。。顺便再问一下,appcan真机运行时怎么查看程序抛出的错误和异常?
测试机型:华为荣耀(裸机不知道怎么看荣耀几) 华为G7plus代码很简单
appcan.ready(function(){
uexBluetoothLE.cbInit = blueToothInit;
uexBluetoothLE.onLeScan = blueToothOnScan;
uexBluetoothLE.cbConnect = cbConnect;//此处回调不执行
uexBluetoothLE.onConnectionStateChange = onConnectionStateChange;
});
var blueToothIsEnabled = false;
//开始蓝牙逻辑的入口方法
function recordPrint(){
if(blueToothIsEnabled == false){
uexBluetoothLE.init();
}else{
if(deviceList.length == 0){
$.showPreloader("打印设备匹配中...");
uexBluetoothLE.scanDevice();
setTimeout(function(){
//3秒时间去获取设备列表
uexBluetoothLE.stopScanDevice();
$.hidePreloader();
//构造设备列表面板,扫描完成后弹出,供用户选择连接设备
var html = '';
html += '
';html += '
html += '
html += '
html += '
';$("#devicelist ul").html(html);
if(deviceList.length>0){
for(var i=0;i
//alert(deviceList);
var html = '';
html += '
';html += ' ';
html += '
html += '
html += '
html += '
html += ' ';
html += '';
$("#devicelist ul").append(html);
}
$.popup("#devicelist");
}else{
appcan.window.alert({
title:'提示',
content:'没有找到相关设备',
buttons:'确定'
});
}
},3*1000);
}else{
$.popup("#devicelist");
}
}
}
var deviceList = new Array();
//蓝牙初始化回调
function blueToothInit(data){
var result = JSON.parse(data);
if(result.resultCode == '0'){
blueToothIsEnabled = true;
recordPrint();
}else if(result.resultCode == '1'){
appcan.window.alert({
title:'提示',
content:'蓝牙设备初始化失败',
buttons:'确定'
});
}
}
//蓝牙扫描回调
function blueToothOnScan(data){
var result = JSON.parse(data);
for(var i=0;i
if(result.name == deviceList.name){
return;
}
}
deviceList.push(result);
}
function selectDevice(index){
if(deviceList.length>0){
var deviceAddress = deviceList[index].address;
var params={
address:deviceAddress
};
params = JSON.stringify(params);
$.showPreloader("正在连接"+deviceList[index].name+"...");
uexBluetoothLE.connect(params);
setTimeout(function(){
if(connectedFlag == false){
uexBluetoothLE.disconnect();
$.hidePreloader();
appcan.window.alert({
title:'提示',
content:'连接超时,无法连接到'+deviceList[index].name,
buttons:'确定'
});
}
},10*1000);
}
}
//蓝牙连接设备回调(此处回调不执行)function cbConnect(data){
alert(data);
}
var connectedFlag = false;
//蓝牙连接状态变更回调
function onConnectionStateChange(data){
var result = JSON.parse(data);
if(result.resultCode == '0'){
//已连上
connectedFlag = true;
$.hidePreloader();
$.toast("已连接到打印设备");
}else if(result.resultCode == '1'){
//已断开
connectedFlag = false;
$.hidePreloader();
$.toast("与打印设备断开连接");
}
}