当前位置:  开发笔记 > 运维 > 正文

Android中是否真的支持蓝牙OOB配对?

如何解决《Android中是否真的支持蓝牙OOB配对?》经验,为你挑选了0个好方法。

我是Android世界的完全新手.如果我的问题太天真,请原谅我.

我一直在研究一个示例应用程序,以实现Linux Box(运行Bluez-5.42的FC-21)和Android平板电脑之间的蓝牙配对.我正在使用NFC将蓝牙名称,地址和OOB数据从PC传输到Android.我能够通过NFC将这些数据从PC发送到Android(精确的光束),我能够解析和解码Android端的所有数据.借助Android上可用的Linux机箱的蓝牙地址,我可以调用CreateBond()将Android平板电脑与Linux Box配对.我测试了这部分,它按预期工作.

现在,这种方法的问题在于,在蓝牙配对期间使用数字比较或密码输入关联模型,当我使用NFC进行配对时,我觉得这是用户体验的偏差.由于我已经拥有了PC的OOB数据,因此我想使用OOB关联进行配对,这样就不会损害用户体验.

为此,当我用CreateBondOutOfBand()[使用反射]替换CreateBond()时,没有从Android向Linux PC发送配对请求.

       try {
        showLog("Pairing started");
        Method m = bDev.getClass().getMethod("createBondOutOfBand", byte[].class, byte[].class);
        showLog("Found method");
        Boolean flag = (Boolean) m.invoke(bDev, Hash, Rand,(Object[]) null);
        //Method m = bDev.getClass().getMethod("createBond", (Class[]) null);
        //Boolean flag = (Boolean) m.invoke(bDev, (Object[]) null);
        if(flag)
            showLog("Pairing successfully finished.");
        else
            showLog("Pairing failed");
    } catch (Exception e) {
        showLog("Pairing failed.");
    }

我在网上搜索但找不到任何具体证据表明可以在Android中实现OOB配对.

此外,为了检查原生Android的行为,我创建了一个NFC标签,其中包含Linux机器的蓝牙名称,地址和OOB数据.当我对Android平板电脑持有标签时,Bluettoth配对已启动但仍未使用OOB关联模型.

我的问题如下,

Android上真的支持OOB关联模型吗?

如果支持OOB关联模型,CreateBondOutOfBand()是要使用的API还是我需要使用的其他API?

任何投入将不胜感激.

谢谢,

西

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有