Android7蓝牙连接失败,蓝牙设备连接失败,只有首次运行能连接成功??

Posted weixin_39715187

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android7蓝牙连接失败,蓝牙设备连接失败,只有首次运行能连接成功??相关的知识,希望对你有一定的参考价值。

bluetoothSocket.connect();首次执行,可以成功连接,之后就一直连接不上。

打印

搜索蓝牙设备

点击设备开始打印

mui.init();

mui.plusReady(function(){

scan();

})

//获取已配对的蓝牙设备列表

function scan() {

var main = plus.android.runtimeMainActivity();

var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");

var BAdapter = BluetoothAdapter.getDefaultAdapter(); //获得本机蓝牙适配器

if (!BAdapter.isEnabled()) {

console.log('检测到未打开蓝牙,尝试打开中....');

BAdapter.enable();

}

var lists = BAdapter.getBondedDevices();//获取配对的设备列表

plus.android.importClass(lists);

var iterator = lists.iterator();

plus.android.importClass(iterator);

var ul = document.getElementById('list');

ul.innerhtml = '';

while (iterator.hasNext()) {

var d = iterator.next();

plus.android.importClass(d);

var li = document.createElement('li');

li.setAttribute('id', d.getAddress());

li.className = 'mui-table-view-cell';

var a = document.createElement('a');

a.setAttribute('class', 'mui-navigate-right')

a.innerText = d.getName();

li.appendChild(a);

ul.appendChild(li);

}

}

//mac_address:打印机的mac地址

function print(mac_address) {

if (!mac_address) {

mui.toast('请选择蓝牙打印机');

return;

}

var main = plus.android.runtimeMainActivity();

var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");

var UUID = plus.android.importClass("java.util.UUID");

var uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

var BAdapter = BluetoothAdapter.getDefaultAdapter();

var device = BAdapter.getRemoteDevice(mac_address);

plus.android.importClass(device);

var bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);

plus.android.importClass(bluetoothSocket);

if (!bluetoothSocket.isConnected()) {

console.log('检测到设备未连接,尝试连接....');

bluetoothSocket.connect();

}

console.log('bluetoothSocket.isConnected()=' bluetoothSocket.isConnected());

//为什么只能是首次连接成功,之后就一直是未连接

if (bluetoothSocket.isConnected()) {

var outputStream = bluetoothSocket.getOutputStream();

plus.android.importClass(outputStream);

var string ='测试测试\\r\\n\\r\\n\\r\\n';

var bytes = plus.android.invoke(string, 'getBytes', 'gbk');

outputStream.write(bytes);

outputStream.flush();

}

}

mui('#list').on('tap', 'li', function() {

print(this.id);

//localStorage.setItem('mac_address',this.id);

})

document.getElementById("search").addEventListener('tap',scan);

以上是关于Android7蓝牙连接失败,蓝牙设备连接失败,只有首次运行能连接成功??的主要内容,如果未能解决你的问题,请参考以下文章

熊晨沣蓝牙实战--小程序蓝牙连接2.0

树莓派蓝牙连接

小程序蓝牙连接的开发1.0流程图

微信小程序--蓝牙连接开发总结

蓝牙连接失败,使用 bluetoothctl 命令

win10蓝牙设备无法删除是啥原因