Android蓝牙LE的ScanResult isConnectable不起作用。
创始人
2024-10-08 21:31:42
0

在Android中,ScanResultisConnectable属性默认是不起作用的。根据Android官方文档,此属性仅用于指示设备是否支持连接,但在实际中可能不会准确地反映设备的连接状态。

如果您需要判断设备是否可以连接,可以尝试以下解决方法:

  1. 使用BluetoothAdaptergetBondedDevices()方法获取已配对的设备列表,然后与扫描结果进行对比,判断设备是否已经配对。
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set bondedDevices = bluetoothAdapter.getBondedDevices();

for (ScanResult result : scanResults) {
    BluetoothDevice device = result.getDevice();
    if (bondedDevices.contains(device)) {
        // 设备已经配对
    } else {
        // 设备未配对
    }
}
  1. 在连接设备时,使用BluetoothDevicecreateBond()方法进行配对操作。在配对成功后,可以认为设备是可连接的。
BluetoothDevice device = result.getDevice();
device.createBond();

请注意,配对操作可能需要用户确认,并且不是所有设备都支持自动配对。因此,这种方法可能无法适用于所有情况。

  1. 在扫描到可连接的设备后,尝试连接设备并通过异常捕获判断是否连接成功。
BluetoothDevice device = result.getDevice();
BluetoothGatt gatt = device.connectGatt(context, false, gattCallback);

try {
    if (gatt.connect()) {
        // 设备连接成功
    } else {
        // 设备连接失败
    }
} catch (Exception e) {
    // 设备连接失败
} finally {
    gatt.close();
}

这种方法使用了BluetoothGatt进行设备连接,并通过异常捕获判断连接的结果。请注意,在连接成功后需要及时关闭BluetoothGatt

以上是几种判断设备是否可连接的解决方法,具体选择哪种方法取决于您的需求和具体的使用场景。

相关内容

热门资讯

透视解密"pokem... 透视解密"pokemmo辅助脚本"果然存在有辅助攻略(哔哩哔哩)1、pokemmo辅助脚本公共底牌简...
透视开挂"wepok... 透视开挂"wepoker辅助器安装包定制"好像存在有辅助教程(哔哩哔哩)1、不需要AI权限,帮助你快...
透视有挂"wepok... 透视有挂"wepoker轻量版辅助"都是是有辅助插件(哔哩哔哩)1、进入到wepoker轻量版辅助是...
透视解迷"wepok... 透视解迷"wepoker怎么买辅助"确实真的有辅助器(哔哩哔哩)一、wepoker怎么买辅助游戏安装...
透视必备"wpk软件... 透视必备"wpk软件是正规的吗"果然存在有辅助脚本(哔哩哔哩)1、下载好wpk软件是正规的吗脚本下载...
透视透视"We po... 透视透视"We poker辅助器下载"竟然真的是有辅助脚本(哔哩哔哩)1.We poker辅助器下载...
透视必备"wepok... 透视必备"wepoker透视版下载"都是有辅助器(哔哩哔哩)运wepoker透视版下载辅助工具,进入...
透视分享"聚星ai辅... 透视分享"聚星ai辅助工具下载"好像是有辅助工具(哔哩哔哩)在进入聚星ai辅助工具下载软件靠谱后,参...
透视有挂"hhpok... 透视有挂"hhpoker辅助挂是真的吗"真是真的是有辅助神器(哔哩哔哩)1、该软件可以轻松地帮助玩家...
透视解谜"智星德州插... 透视解谜"智星德州插件最新版本更新内容详解"切实真的有辅助脚本(哔哩哔哩)1、透视解谜"智星德州插件...