android刷新蓝牙缓存,如何使用GattServer以编程方式清除蓝牙缓存

在Android应用中使用BluetoothGattServer进行BLE配对时,遇到设备在配对几次后无法被发现的问题。尝试了重置GattServer、重启手机、清除缓存等方法,但问题仍未解决。文章探讨了如何在不重构继承代码的情况下,通过编程方式解决BluetoothGattServer的设备发现缓存问题,寻求可能的解决方案。
摘要由CSDN通过智能技术生成

我对BLE稍微熟悉,我在使用inheritance的代码时遇到了一些问题。 所以应用程序的工作原理如下:

启用BLE后,应用程序会扫描设备

该应用程序显示find的设备

用户选择要配对的设备

该应用与设备配对

我面临的问题是,在配对几次(它变化)后,手机无法发现设备,从而阻止用户配对。

我正在使用GattServer连接客户端设备,我正在重置以下服务:

public void resetBluetoothGattServer() { Log.i(TAG," resetBluetoothGattServer: bluetoothGattServer: "+ bluetoothGattServer); if (bluetoothGattServer != null) { if(!bluetoothGattServer.getServices().isEmpty()){ Log.i(TAG," resetBluetoothGattServer: clearing services on bluetooth Gatt Server"); bluetoothGattServer.clearServices(); } Log.i(TAG," resetBluetoothGattServer: closing bluetoothGattServer"); bluetoothGattServer.close(); } bluetoothGattServer = openGattServer(); }

重新启动手机,关闭蓝牙然后重新打开,卸载并安装应用程序将无法解决问题。 唯一的解决方案是从Android应用程序管理器上的蓝牙共享应用程序中清除缓存。

这篇文章如何在Android上以编程方式强制蓝牙低能耗服务发现,而不使用缓存地址来解决类似的问题,但由于我们没有使用BluetoothGatt来连接它,因此没有合适的解决方案。 也不会重构整个inheritance的代码。

我问你是否有办法使用BluetoothGattServer以编程方式清除缓存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值