android 蓝牙连接不上,android蓝牙插件连接不上也没有回调

本文档描述了在使用uexBluetoothLE官方蓝牙插件时遇到的连接设备困难的问题,详细阐述了10次连接尝试中有9次失败的情况,并指出连接成功回调uexBluetoothLE.cbConnect()未执行。同时,作者提出了如何在华为真机上查看AppCan应用运行时的错误和异常的疑问。代码示例展示了初始化蓝牙、扫描设备、连接设备以及处理连接状态变化的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本帖最后由 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 += '   

'+deviceList.name+'
';

html += '   

'+deviceList.address+'
';

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("与打印设备断开连接");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值