w***@qq.com
w***@qq.com
  • 发布:2016-11-22 18:46
  • 更新:2019-11-05 13:14
  • 阅读:2839

两个手机蓝牙连接问题。

分类:Native.js

http://ask.dcloud.net.cn/article/643?item_id=5995 这是网站上关于蓝牙连接打印机打印的代码。

我用 其中 连接打印机那段代码修改成连接设备。mac_address 是要连接的手机的mac地址,
两个手机都进行配对过了,但是下边的代码调试时候显示连接失败。错误信息在 后面。

function connectPhone(mac_address) {
if (!mac_address) {
alert("mac 地址缺失!")
return;
}
main = plus.android.runtimeMainActivity();

var Settings= plus.android.importClass("android.provider.Settings");  
console.log(Settings.Secure.getString(main.getContentResolver(),Settings.Secure.ANDROID_ID));  

BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");  
UUID = plus.android.importClass("java.util.UUID");  
uuid = UUID.fromString("00001101-0000-1000-8004-00805F9B34FB");  
BAdapter = BluetoothAdapter.getDefaultAdapter();  
device = BAdapter.getRemoteDevice(mac_address);  
plus.android.importClass(device);  
bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);  
plus.android.importClass(bluetoothSocket);  

if (!bluetoothSocket.isConnected()) {  
    console.log('检测到设备未连接,尝试连接....');  
    bluetoothSocket.connect();  
}  

console.log('设备已连接');  

// if (bluetoothSocket.isConnected()) {
// var outputStream = bluetoothSocket.getOutputStream();
// plus.android.importClass(outputStream);
// var string = "打印测试\r\n";
// var bytes = plus.android.invoke(string, 'getBytes', 'gbk');
// outputStream.write(bytes);
// outputStream.flush();
// device = null //这里关键
// bluetoothSocket.close(); //必须关闭蓝牙连接否则意外断开的话打印错误
//
// }

}

错误信息:

检测到设备未连接,尝试连接.... at index.html:178
Uncaught java.io.IOException: read failed, socket might closed or timeout, read ret: -1;at android.bluetooth.BluetoothSocket.connect at index.html:1

2016-11-22 18:46 2 条评论 负责人:无 分享
已邀请:
子衿科技

子衿科技 - 一个学生编程爱好者

我怀疑是不支持4.0的问题,之前做蓝牙小车的时候试着连接手机也不行

1***@qq.com

1***@qq.com - 90入门小白

解决了吗

lee60

lee60

手机现在基本都是蓝牙4.0的,你这个方法是4.0以下的连接方式。我也急需4.0的连接方式,再弄不好就要弃用Dcloud了

t***@qq.com

t***@qq.com

我发现一个问题,手机连接手机 ,系统的蓝牙配对了,但是也连接不了, 点击连接后就断开,我想是因为手机和手机蓝牙根本不支持实时连接,但是配对后可以发送文件。你试试手机连接 物联网 的 蓝牙模块 试试吧

该问题目前已经被锁定, 无法添加新回复