当前位置: 首页 > 知识库问答 >
问题:

Android O蓝牙扫描限制达到问题

龙俊良
2023-03-14

尝试在Android O中实现周期性蓝牙扫描。

代码每15分钟扫描一次,结果出现以下错误:;

09-05 10:33:26.387 I:[信息:gatt\u api.cc(1004)]gatt\u寄存器09-05 10:33:26.387 E:[错误:gatt\u api.cc(1032)]无法注册gatt客户端,已达到最大客户端数:32 09-05 10:33:26.387 E:用gatt堆栈注册失败。

代码如下:;

ScanSettings settings = (new ScanSettings.Builder()
                .setScanMode(ScanSettings.SCAN_MODE_OPPORTUNISTIC)).build();

BluetoothManager bluetoothManager =
                (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();

Intent intent = new Intent(context, ScannerBroadcastReceiver.class);
intent.putExtra("o-scan", true);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
bluetoothAdapter.getBluetoothLeScanner().startScan(BleUtils.buildScanFilters(), settings, pendingIntent));

任何帮助都将不胜感激。

共有1个答案

狄宗清
2023-03-14

此症状通常表示蓝牙堆栈已进入不良状态,需要一个蓝牙周期(或手机)才能恢复。每当你看到这个,首先尝试关闭蓝牙,等待30秒,然后再打开它,看看它是否恢复。

如果您发现蓝牙电源循环有帮助,您可以使用图书馆的Bluetooth medic类来自动执行此恢复。

如果将电源循环至蓝牙或整个设备确实解决了问题,则可能没有其他解决方案。当问题出现时,寻找模式仍然是值得的,这样你至少可以知道问题有多严重。它似乎与检测到的许多信标有关吗?开机后需要多长时间才能出现?知道这些问题的答案至少会让你知道你正在处理的问题有多糟糕。

 类似资料:
  • 开启蓝牙扫描 参数说明 字段 类型 必须? 说明 blePrefix String 是 设备名称类型前缀 示例代码 Swift: RokidMobileSDK.binder.startBLEScan(blePrefix: String) ->Bool Objc: [RokidMobileSDK.binder startBLEScanWithBlePrefix:@"Rokid-"]; 手机蓝牙未打

  • 扫描设备 介绍 需要传入扫描蓝牙设备的名称的前缀,回调均在主线程。如果传空,是无法获取设备列表。 1、单前缀蓝牙设备 参数说明 字段 类型 必须? 说明 type String 是 设备名称类型前缀 举个大栗子 String type = "Rokid-" RokidMobileSDK.binder.startBTScan(type, new IBTScanCallBack() { @Ov

  • 我制作了一个android应用程序来扫描蓝牙设备,并向我的服务器发送一个HTTP请求,这样我就可以检测它们是开着还是关着。我已经用我的带有蓝牙适配器的台式电脑测试过了,效果很好。当检测到电脑上的蓝牙功能时,它显示电脑是打开的,当我关闭电脑上的蓝牙功能时,它是关闭的。现在,我需要使用这个应用程序的设备有:雅伯投影仪、Bose SoundLink和JBL耳机,但我遇到了一些问题。 首先,投影仪似乎无法

  • 我正在尝试使用基于处理的android应用程序扫描蓝牙设备。我想使用处理通过蓝牙与我的微控制器板通信,如下例所示: http://webdelcire.com/wordpress/archives/1045 我成功地在我的android平板电脑上启动了这个应用程序。但是,我无法在平板电脑上列出蓝牙设备。我的平板电脑识别的唯一蓝牙设备是我电脑上的蓝牙适配器。为什么我不能列出所有蓝牙设备?我的电脑能够

  • 我目前正在开发一个应用程序,将使用蓝牙低能耗。 我正在使用以下链接, http://developer.android.com/samples/BluetoothLeGatt/src/com.example.android.bluetoothlegatt/DeviceScanActivity.html 我无法扫描周围的BLE设备。 要扫描设备,

  • 我正在创建一个蓝牙扫描仪应用程序,并试图找到可用的设备配对。我有一个蓝牙耳机,我正试图找到运行android 10应用程序。 权限在清单中设置 应用程序包含一个简单的按钮,点击它我开始发现蓝牙设备 用于发现的回调 如果我错过了什么,有人能帮我吗?