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

如果任何其他应用程序尝试连接,我们如何实现BLE外围设备仅连接到我们的Android应用程序(Central)需要断开连接,android,embedded,bluetooth-lowenergy,gatt,bluetooth-gatt,Android,Embedded,Bluetooth Lowenergy,Gatt,Bluetooth Gatt,正如问题所暗示的,我们有自己的BLE设备和Android应用程序来连接该设备。我们能够连接BLE设备并成功完成所有操作 同时,我们能够通过其他第三方应用检测我们的BLE设备,并能够连接和执行操作 但我们希望限制其他应用程序与我们的BLE设备连接,如果它们立即与设备连接,则需要断开连接。 我在谷歌上搜索过,但无法获得任何信息来实现这一点,如果有人在连接事件上有想法帮我解决问题请从应用程序向设备发送一些数据,并从设备到应用程序获取验证数据,更改一些编程机制,应用程序向设备发送一些数据,设备验证并给出

正如问题所暗示的,我们有自己的BLE设备和Android应用程序来连接该设备。我们能够连接BLE设备并成功完成所有操作

同时,我们能够通过其他第三方应用检测我们的BLE设备,并能够连接和执行操作

但我们希望限制其他应用程序与我们的BLE设备连接,如果它们立即与设备连接,则需要断开连接。
我在谷歌上搜索过,但无法获得任何信息来实现这一点,如果有人在连接事件上有想法帮我解决问题

请从应用程序向设备发送一些数据,并从设备到应用程序获取验证数据,更改一些编程机制,应用程序向设备发送一些数据,设备验证并给出确认,并基于此保持连接,否则可以断开与设备的连接。我已经实现了这些东西,并且工作得非常完美

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()向设备发送一些加密数据,设备具有相同的加密算法,设备验证我的数据并向应用程序发出成功和失败的响应,基于成功和失败,应用程序可以保持连接和断开连接。我还在设备中添加了一些代码,这样,如果设备出现故障,那么设备将自动断开连接。

您可以向设备发送一些机密数据,以验证它是否是您的应用程序,例如。Gauthorize@VladyslavMatviienko你能不能再详细一点,我对这个话题还不熟悉,如果你在这里有关于这个帖子的文章,这会对我有很大帮助。我没有文章。根据您将如何与设备通信,您需要告诉设备一些秘密字符串。设备将检查其是否正确(与预期的匹配),然后才继续通信。如果字符串错误,或者在某段时间内未发送,则设备应断开连接。\n我将尝试您的建议。