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

Android KitKat是否允许支持蓝牙LE的设备充当外围设备?

龙繁
2023-03-14

在Android4.3之前,支持蓝牙低能耗的Android设备只能充当中央设备。正如Android 4.3蓝牙LE文档中所给出的:

随着Android4.4 KitKat的推出,它现在是否也能表现为外围设备呢?我找不到任何关于这一点的文件。如果没有,那么我们是否必须等待Android 4.5才能在Android设备上获得BTLE外设模式?或者有没有其他方法可以让Android设备充当外围设备?

共有1个答案

厍书
2023-03-14

在这个版本中没有,但有证据表明它很快就会出现。
如果您查看android-19源代码中的BluetoothGatt.java,就会发现Android-18中没有的新方法listensetadvdata
但是这些方法没有文档化,因为我认为本机支持还没有完成。最后一次在AOSP上签入外设模式的标题是“LE:添加外设角色支持(2/4)”。此外,setadvdatalisten有以下代码:

if (mContext == null || !mContext.getResources().getBoolean(com.android.internal.R.bool.config_bluetooth_le_peripheral_mode_supported))
{
    throw new UnsupportedOperationException("BluetoothGatt#listen is blocked");
}

从Android源代码中查看Android/platform_frameworks_base/blob/master/core/res/res/values/config.xml,您可以看到当前已禁用:

<!-- Boolean indicating if current platform supports BLE peripheral mode -->
<bool name="config_bluetooth_le_peripheral_mode_supported">false</bool>
 类似资料:
  • 我有一个蓝牙设备,它正在测量力并基本上发送一个值。有一个android应用程序可以连接到它,但我想开发自己的应用程序,因为我想添加一些功能。我设法连接到它,但不知道哪个服务或特征是具有我需要的号码的服务或特征。有人可能知道它可能是其中的哪一个? 服务00001801-0000-1000-8000-00805f9b34fb 服务00001800-0000-1000-8000-00805f9b34fb

  • 问题内容: 我在Xcode 6操场上有以下代码: 我刚刚开始在OSX下使用蓝牙,而我目前想要的只是一系列设备清单。 它似乎根本没有调用我的委托方法。 我是OSX开发和Swift的新手,所以要保持柔和。:) 问题答案: 要告诉Playground您的代码在后台执行某些操作,您必须调用并调用。 这将使IOBluetoothDeviceInquiry在Playground中保持活动状态,并允许它在完成后

  • ap.stopBluetoothDevicesDiscovery() 停止搜寻附近的蓝牙外围设备。 错误码说明 error 描述 12 停止搜索失败 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <button class

  • ap.startBluetoothDevicesDiscovery(OPTION | services | service, CALLBACK) 开始搜寻附近的蓝牙外围设备。搜索结果将在 bluetoothDeviceFound 事件中返回。可直接传入一个数组作为 OPTION.services 参数。也可直接传入一个字符串作为 OPTION.services 的第一项。 OPTION 参数说明

  • 我可以在Android中看到蓝牙设备的两种状态。1、配对2。已连接-<我正在尝试在Android系统中使用当前连接的蓝牙设备。但我只从适配器获得配对设备列表。getBondedDevices() 我需要当前连接的设备。我怎么能得到这个。请有人帮我实现这一点。提前谢谢。

  • 我的应用程序无法检测外设。我用浅蓝色来模拟蓝牙低能量外设,我的应用程序就是感觉不到。我甚至在两台设备上安装了浅蓝色,以确保它能正确地生成外围信号,并且是正确的。有什么建议吗?我的标签正在更新,NSLog显示扫描正在开始。 提前谢谢。