Android 10:GATT 错误 133 - 如何修复?

2023-11-25

我有安卓应用程序。我使用 BLE(低功耗蓝牙)来连接设备。它运行良好,但我在 Android 10 上遇到问题。这是我的代码:

 Hashtable<String, BluetoothDevice> myHtDevices;
 ....
 BluetoothGatt gatt = myHtDevices.get(deviceId).connectGatt(this, false, gattCallback);

在 onConnectionStateChange 我得到:

//public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState){
status= 133,
newStatus =0,

我只有 Android Q 遇到这个问题。

我尝试了这个方法(添加参数 TRANSPORT_LE),但它不起作用:

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q){
        gatt = myHtDevices.get(deviceId).connectGatt(this, false, gattCallback, 
     BluetoothDevice.TRANSPORT_LE);
    }
    else {
        gatt = myHtDevices.get(deviceId).connectGatt(this, false, gattCallback);
    }

添加信息:

  1. 我通过执行 BLE 扫描获取 myHtDevices。

  2. 我立即回电。

  3. 设备-三星 9

这是 nRF Connect 日志:

  nRF Connect, 2020-03-24
    Device (50:8C:B1:52:B7:8D)
V  19:37:26.248  Connecting to 50:8C:B1:52:B7:8D...
D  19:37:26.248  gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D  19:37:26.549  [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
D  19:37:26.721  [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I  19:37:26.721  Connected to 50:8C:B1:52:B7:8D
V  19:37:26.745  Discovering services...
D  19:37:26.745  gatt.discoverServices()
I  19:37:26.872  Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D  19:37:27.768  [Callback] Services discovered with status: 0
I  19:37:27.768  Services discovered
V  19:37:27.814  Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Privacy Flag [R W] (0x2A02)
- Reconnection Address [W] (0x2A03)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
Generic Attribute (0x1801)
- Service Changed [I] (0x2A05)
   Client Characteristic Configuration (0x2902)
Device Information (0x180A)
- System ID [R] (0x2A23)
- Model Number String [R] (0x2A24)
- Serial Number String [R] (0x2A25)
- Firmware Revision String [R] (0x2A26)
- Hardware Revision String [R] (0x2A27)
- Software Revision String [R] (0x2A28)
- Manufacturer Name String [R] (0x2A29)
- IEEE 11073-20601 Regulatory Certification Data List [R] (0x2A2A)
- PnP ID [R] (0x2A50)
Unknown Service (6d95c372-02f0-4360-b0c0-432109c2b715)
- Unknown Characteristic [R W WNR] (105998c0-5e55-4de3-9fc9-1cf857231477)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (4f294974-26c0-43f6-aff9-aac109231e0d)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (51bb9208-7ed1-4c10-821a-be0ca1880c36)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (1767ac17-5aac-4692-93b0-1cb11b28fda6)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (3242c75b-0ce2-4560-9cc4-5190b2ee93d3)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (ad2192c7-c2d0-4c2a-b705-194602bf3c9e)
   Characteristic User Description (0x2901)
Unknown Service (18b794e2-9679-4676-93e1-6a244758002d)
- Unknown Characteristic [R W WNR] (b8fe10c6-eba1-425d-849c-189e60f4dbc9)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (fd8c491c-e597-4e85-b831-5b4c37a3afc6)
   Characteristic User Description (0x2901)
Unknown Service (bd31f74c-7f33-4b27-a2cf-6660b8d1efc2)
- Unknown Characteristic [R W WNR] (e91ed239-2e78-4aa9-8f5a-9701ecac4740)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (6e143748-ac59-4522-bdd0-46fd3e2101d7)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (b1e20318-8afc-47e3-3ac2-1eea626ce7a9)
   Characteristic User Description (0x2901)
Unknown Service (baefe645-2991-4f24-9fb1-a8ea687c395a)
- Unknown Characteristic [R W WNR] (898542a6-55e6-4188-ac49-261d3e179640)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (06dc3129-99e3-45e6-8694-8845ce52fdda)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (d49aeb6d-a33c-4cf0-a06f-f7eca72bfe4f)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (583205af-5509-42ed-bdac-f95bb5c7bca3)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (fa54cb0c-ca4f-405d-b8e0-cf3c7d2f5ffe)
   Characteristic User Description (0x2901)
- Unknown Characteristic [R W WNR] (b1e20318-8afc-47e3-a32c-e1ae26c67e9a)
   Characteristic User Description (0x2901)
D  19:37:27.815  gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
I  19:37:27.840  Connection parameters updated (interval: 48.75ms, latency: 0, timeout: 5000ms)

有什么建议吗?


正如在AOSP 常数,此错误是您可能遇到的最常见的错误。通常,当设备超出范围但您仍尝试连接时会发生这种情况。您应该检查完整的 logcat 和 dmesg 以找出根本原因。我的 BLE 应用程序无法连接到运行自定义 ROM 的华为手机上的任何设备,因此请确保该设备使用的是 Android 10 的 OEM 库存版本 - 如果这不起作用,请尝试使用 AOSP - 你永远不知道会发生什么制造商将其放入皮肤中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 10:GATT 错误 133 - 如何修复? 的相关文章

  • 使用街景图像

    我想获取街景图片 注明纬度和经度 并显示在对话框中 这可能吗 我在这里看到了一些示例 但没有找到一个向我展示如何在对话框中显示图像的示例 抱歉 如果网站中已经存在这个问题 但我在搜索时没有找到 是的你可以 作为 URL 根 你可以使用这个h
  • 如何从自定义视图访问主机片段的生命周期范围?

    我需要在自定义视图中使用协程 看完这个之后 我相信我最好的选择是使用生命周期范围作为协程作用域 这样当lifecycleowner被销毁时 它会自动取消 但是我似乎无法访问自定义视图中的生命周期范围 根据文档 https developer
  • Android Studio 如何检查哪个Imageview被点击并为其分配一个Int值?

    活动一 我有 12 个图像视图 用户单击其中任意一个 如果他们单击 ImageView 1 我们为其分配一个 int 值 image id 1 活动二 使用 If else 语句检查他们单击了哪个图像 Intent result inten
  • 地理编码器返回长度为零的地址

    地理编码器直到今天都工作正常 它开始返回长度为 0 的字符串 注意 这不是 Geocoder 线程的重复 我在启动线程之前使用意图服务和 AsyncTask 来获取它 并且 AsyncTask 方法在 8 个月内工作正常 检查这段代码 ht
  • Cordova 无法构建项目

    Update 新读者 请检查我最后的编辑 更新cordova后 无法构建 运行 Mac mini de Toni funcook toniweb sudo cordova build Password Running command Use
  • 如何立即开始执行 Kotlin 协程

    我想立即启动一个协程 我有一段代码 class SampleActivity AppCompatActivity CoroutineScope private var job Job Job override val coroutineCo
  • 运行低于 Lollipop 的设备上的 CameraManager

    我遇到一个问题 我同时使用 Camera 低于 Lollipop 设备 和 CameraManager 类 Lollipop 及以上设备 运行低于 Lollipop 的设备会崩溃 我相信这是因为 import android hardwar
  • 在 Mac 上升级到 Android Studio 3.3 后,运行卡在“安装 APK”上并且无法部署到连接的设备

    从 Mac 机器上的稳定通道升级到最新的 Android Studio 版本 3 3 后 现在当我使用连接的设备按下运行时 它会成功构建并不断告诉 正在安装 apk 但经过一段时间后 它既不安装也不显示错误 也尝试过模拟器和同样的问题 任何
  • Gradle 同步失败:配置项目“:lib”时出现问题

    我正在尝试在 android studio 中构建一个项目 但它总是失败 并出现名为 org gradle api ProjectConfigurationException A problem occurred configuring p
  • Android:如何检测双击?

    我在实现双击时遇到问题 好吧 我实施了onGestureListener我有gestureDetector 但我不确定问题出在哪里 这是我的代码 public class home extends TabActivity implement
  • 使用actionBar推送视图的正确方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是一名新的 Android 开发人员 所以我更喜欢询问正确的方法来解决我的问题 我有一个 FragmentActivity 和多个片段
  • 如何判断手机是否有刘海

    如果存在缺口 我需要修改应用程序的工具栏 现在 该凹口隐藏了工具栏中的一些内容 if Build VERSION SDK INT Build VERSION CODES LOLLIPOP Build VERSION SDK INT Buil
  • 使用 IntentService 使用 Camera2 拍照

    我正在尝试创建一个可以拍照但不显示预览的应用程序 使用本教程 https www youtube com watch v oPu42I0HSi4 https www youtube com watch v oPu42I0HSi4如果我使用和
  • Gradle 构建失败 - 无法解压

    我正在使用 android studio 做一个项目 最近它显示了一个错误your SDK is missing or out of date所以 我再次下载了SDK 现在它显示一个错误 Gradle Build failed 错误如下 E
  • 使用 Android 解析 JSON 的最有效方法

    我编写了一些代码来解析我的 Android 程序收到的 Google 距离矩阵 JSON 响应 我唯一感兴趣的数据是 距离 值 节点 我的代码可以工作 但似乎必须有一种更简单的方法来做到这一点 距离值节点在 JSON 中嵌套得很深 但是真的
  • Android 5.0 - 在模块中声明自定义权限

    我在 Android Studio 中有一个模块 我在多个应用程序 均使用不同的密钥签名 中使用该模块来处理 GCM 通知 在 GCM 客户端文档中 他们说要定义包命名空间自定义权限
  • Android studio 导入模块按钮缺失

    我已经使用 Eclipse 很长时间了 但我想尝试一下 Android Studio 所以我创建了新项目 现在我想向其中添加 SlidingMenu 库 我发现一些教程说要转到项目结构 单击加号按钮并选择导入模块 但是没有导入模块选项 当我
  • TextView 中缩进项目符号列表

    我有一个 TextView 我用 strings xml 中的字符串资源中的文本填充它 字符串资源包含 元素 用于在 TextView 内创建项目符号列表 我的问题是我想控制项目符号列表中跨越多行的行的缩进 默认情况下 文本不会缩进超过项目
  • SpannableString 中的 URLSpan

    我正在使用这个例子SpannableString http developer android com resources samples ApiDemos src com example android apis text Link ht
  • 在 Exif 中写入 XPKeywords

    我想在 Jpeg 图像中写入 XPKeywords 到目前为止 我正在使用 Sansaleen java api 在 Jpeg 图像中写入 Exif 标签 我能够编写大多数标签 例如主题 评论 作者 评级 但无法编写 Windows XP

随机推荐