繁体   English   中英

如果其他任何尝试连接的应用程序需要断开连接,我们如何才能使BLE外围设备仅连接到我们的Android应用程序(中央)

[英]How we can achieve the BLE peripheral device to connect to only our Android app (Central) if any other app try to connect need to disconnect

有问题的建议我们拥有自己的BLE设备和与该设备连接的Android应用。 我们能够与BLE设备连接并成功完成所有操作。

同时,我们能够与其他第三方应用程序一起检测我们的BLE设备,并能够进行连接和操作。

但是我们想限制其他应用程序与我们的BLE设备连接,如果它们立即与设备连接,则需要断开连接。 我已经在Google和SO中进行了搜索,但无法获得任何信息来实现这一目标,如果有人有想法可以帮助我

在连接事件上,将一些数据从应用程序发送到设备,并从设备到应用程序获取经过验证的数据,更改某种编程机制,使应用程序向设备和设备发送一些数据,并进行确认,并在此基础上保持连接,否则您可以断开连接设备。 我已经实现了这些东西,并且工作完美

public boolean connectDeviceBonded(String address, String name) {
        if (address == null) {
            throw new NullPointerException("Address cannot be null or not found");
        }
        macAddress = address;


        boolean value =  bluetoothLe.connectScannerBonded(address);
        if ( value) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            int ret = reqEncryptedKey(10000);
            if (ret != SUCCESS){
                return false;
            }
        }
        return value;
    }

reqEncryptedKey()向设备发送一些加密数据,并且设备具有相同的加密算法,并且设备验证我的数据并根据成功与失败对应用程序做出响应,基于成功与失败,应用程序可以保持连接和断开连接。 并且我还在设备中放置了一些代码,以便如果设备出现故障,则设备会自动断开连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM