|
各位高手,
小弟在使用开发版中的蓝牙插件,为在4.8中BLE的蓝牙开发做一些前期准备 (我假设这经典蓝牙和低功耗蓝牙在插件层面的操作差别不会很大),我查看了相关的开发文档,
也查看了Github上给出的示例 (https://github.com/comsmobiler/SmobilerTutorials/blob/master/Source/Plugins/demoBluetooth.cs), 不过在真正进行调试的时候,发现
一个问题:
Connect() 方法无法连接到指定MAC的对端蓝牙设备。
bluetooth1.Connect(macAddr, (abj, args) =>
{
if (args.isError == true)
Toast(args.error);
else
{
Toast("success");
}
});
跟踪上面的代码,当试图连接到指定的蓝牙设备时,args 返回值如下
args.agrs = null
args.error = null
args.errorcode = 0
args.isError = false
但实际上并没有连接到对端蓝牙设备,因为如果通过查看 bluetooth1的状态:
bluetooth1.GetStatus((obj, args2) =>
{
if (args2.isError == true)
Toast(args.error);
else
{
Toast(args2.Status + " " + args2.Name + " " + args2.MacAddress);
MessageBox.Show(args.Status + " " + args.Name + " " + args.MacAddress);
}
});
会发现 args2.MacAddress = “”, args2.Status = "Not Connect", args.isError = true
所以,我请教两个问题。
一是,如何正确使用Connect()方法, 确保能够返回正确的连接结果 (虽然还可以在Connect()中继续调用GetStatus()方法进行验证)
二是, 如何设置蓝牙对端。我现在模拟对端蓝牙是在另一个安卓手机上开启蓝牙,并启动了一个蓝牙串口软件,希望通过app对app的方式进行互联互通。我判断无法连接到对方蓝牙调试软件的原因是他不萌没有开启侦听模式。不知道有这样类似的可以进行主动侦听的蓝牙软件?
谢谢
大杰米
|
|