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蓝牙连接失败,蓝牙设备连接失败,只有首次运行能连接成功??的主要内容,如果未能解决你的问题,请参考以下文章