You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android BLE设置连接PHY时onPhyUpdate返回状态6(GATT_REQUEST_NOT_SUPPORTED)

Android BLE设置PHY失败,返回GATT_REQUEST_NOT_SUPPORTED状态码

我正在开发一款通过BLE与外部模块通信的Android应用,尝试调用gatt.setPreferredPhy(txPhy, rxPhy, phyOptions)方法设置BLE连接PHY。我已经试过用所有不同的PHY类型整数值作为txPhy和rxPhy参数,请求编码PHY时也添加了对应的phyOptions整数值,但每次onPhyUpdate回调都返回状态码6(GATT_REQUEST_NOT_SUPPORTED)。其他所有GATT回调均返回状态码0(GATT_SUCCESS)。

我的应用权限如下:

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Android设备规格参考nrf connect截图:
设备规格截图

所通信的蓝牙模块为瑞萨DA14531,其数据手册显示该模块支持BLE PHY相关配置。


排查方向与解决方案

1. 模块与设备的PHY支持不匹配

从DA14531数据手册可知:

  • 模块支持LE 1M PHY的发射与接收
  • 仅支持LE 2M PHY的接收,不支持2M发射
  • 支持LE Coded PHY(S=8/S=2)的发射与接收
    如果你的请求中txPhy设为PHY_LE_2M,会因模块不支持而失败,需确保txPhy仅使用模块支持的类型。

2. 确认API级别与系统版本兼容性

setPreferredPhy方法要求Android API 26及以上,需检查:

  • 应用的minSdkVersion是否≥26
  • 测试设备的系统版本是否满足API 26+要求,低于该版本的设备本身不支持此方法。

3. 规范调用时机

必须在BLE连接完全建立后(onConnectionStateChange回调返回连接成功状态),再调用setPreferredPhy,连接过程中或断开状态下调用会直接触发不支持错误。

4. 修正参数组合

  • 确保使用正确的PHY常量值:
    • PHY_LE_1M = 1
    • PHY_LE_2M = 2
    • PHY_LE_CODED = 3
  • 请求LE Coded PHY时,phyOptions需对应设为PHY_OPTION_S2(1)或PHY_OPTION_S8(2),不可与其他PHY类型混用。
  • 避免用位或操作同时设置多个PHY类型,部分设备/模块不支持混合请求。

5. 补充高版本权限

针对Android 12及以上版本,需额外添加BLUETOOTH_CONNECT权限:

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" android:maxSdkVersion="33" />

同时确认Manifest中声明了BLE特性:

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />

内容的提问来源于stack exchange,提问作者rksilvergreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:50:24