问题标签 [android-ble]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

android - 如何在 android 设备上保持 7 个以上的活动 BLE 连接

我正在尝试让大约 50 台设备连接到我的 android 平板电脑,并让它们在需要通知的任何时候主动向 android 平板电脑发送通知。

要接收通知,我假设我需要保持与设备的活动连接。我还读到有 7 个可以与 android 设备连接的设备的限制。这是真的吗?如果为真,是否有解决方法让我能够连接到所有设备?

谢谢-纳文

0 投票
0 回答
720 浏览

android - 丢失 BLE 连接的 BluetoothGatt 对象

我正在开发一个连接到 BLEDevice 的 APP。此连接由具有单例实例的粘性服务管理,该实例保留 BLE 连接的所有参数(BluetoothDevice、BluetoothGatt、BluetoothGattCallBack)。

APP 的行为在下一行中恢复:

  1. 当我打开 APP 时,我点击扫描、绑定并连接到所需 BLE 设备的按钮。
  2. 连接后,会出现一个测试按钮,允许我通过读取 BLE 设备的 Gatt 特性来测试连接是否已正确建立。
  3. 如果我杀死该应用程序,该服务仍然运行由于是粘性的。关键是不要失去与 BLE 设备的连接
  4. 然后,如果我再次打开应用程序并按下测试按钮,它应该可以工作。

问题出现在第 4 点。当我在关闭应用程序后单击测试按钮时,出现下一个错误:

原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.bluetooth.BluetoothGattCharacteristic android.bluetooth.BluetoothGattService.getCharacteristic(java.util.UUID)'

据我了解,问题是BluetoothGatt对象丢失了。

我应该如何继续不丢失 BLE 连接?

0 投票
2 回答
2953 浏览

android - 可以连接到BLE(BluetoothGattServer)服务器android的最大设备数量

有人知道可以连接到 ble 外围设备的最大设备数量吗?我尝试使用两台设备连接良好,但第三台设备无法连接到 Android BLE 外围设备/BluetoothGattServer。有什么限制吗?

我用谷歌搜索了很多,但没有得到任何关于 BLE 外围设备限制的答案?

我在这里先向您的帮助表示感谢

0 投票
1 回答
1413 浏览

android - 在android中通过BLE发送数据必须使用哪些服务和特性?

我开发了一个 Android 应用程序来将数据发送到 BLE 设备。当我连接到 BLE 设备时,我发现了服务和特性并得到了这个

所以我认为我的设备有 3 个服务和 16 个特征(每个服务都有不同的特征),问题是当我必须发送一个字符时,我使用这个代码

所以问题是,必须使用什么服务和特性?我支持我所发现的。我想向 BLE 设备发送一个简单的字符并从 UART 类型的接口接收。

0 投票
1 回答
613 浏览

android - 蓝牙控制器和控制台之间的游戏命令格式

我正在创建一个 Android 项目,其中我必须将android wearable智能手表作为游戏控制器,它可以向连接到该智能手表的手持设备上运行的游戏发送命令BLE(Bluetooth Low Energy)

我在可穿戴设备上设计了控制器板,并且可以通过点击控制器板的软按钮将一些硬编码文本发送到手持设备应用程序。问题是,我必须用在手持设备上运行的游戏所期望的游戏命令格式替换该文本。并且,在手持设备上运行的应用程序可以通过可穿戴服务收听文本。我知道,第三方游戏不会运行任何可穿戴服务,那么第三方游戏将如何接受/收听可穿戴智能手表发送的命令。

第三方游戏可通过Android SDK支持硬件控制器

0 投票
3 回答
14530 浏览

java - 如何正确使用 UUID.fromString 方法?

我正在尝试读/写这些 ble 特征:

在此处输入图像描述

现在,我正在尝试阅读AA01*

我正在使用这个库来做到这一点。

这是我的代码:

我收到此错误:

java.lang.IllegalArgumentException:无效的 UUID:AA01*

我也尝试了这个类似问题的解决方案,但没有任何效果。同样的错误。

0 投票
1 回答
728 浏览

android - 如何使用 Altbeacon Android 库搜索自定义/制造商特定的信标

我正在使用 Android 尝试搜索/查找附近的信标,并且我正在使用 Altbeacon Android 库。

信标是定制的,这里是制造商特定的:

我需要为这个特定的制造商获取附近位置的所有信标。

安卓代码是:

beaconManager.getBeaconParsers().add(new BeaconParser() .setBeaconLayout("m:2-3=0312,i:4-19,i:20-21,i:22-23,p:24-24,d: 25-25"));

但找不到任何信标,请建议我该怎么做或者是他们的任何其他图书馆

0 投票
0 回答
512 浏览

android - 如何使用 altbeacon 传输信标

我正在开发 Android 应用程序以通过自定义信标传输数据,

这是我的代码:

但我无法传输数据。我不确定 setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6"),我作为这个静态发送,我传递错了还是如何得到这个正确的?

我无法在信标列表中看到我的信标,使用不同平板电脑中的 nRF Connect 来查找我的设备的 mac/蓝牙地址。但我的设备蓝牙地址不在列表中。

0 投票
1 回答
1343 浏览

performance - Android BLE 连接速度问题

我的 android 应用程序使用

在通过按下按钮手动要求停止之前扫描结果。

这种态度会不会影响ble连接时间?

我认为蓝牙服务绑定时扫描被阻塞,连接建立后解锁,无需编写任何代码。这是正确的吗?

连接时间不时变化。平均大约需要 1~2 秒,但有时需要 5~6 秒甚至更长。为什么会发生这种情况?

0 投票
1 回答
1421 浏览

android - Android BLE startLeScan 扫描已连接的设备

我目前正在使用 BLE 将我的 android 设备与另一个蓝牙设备连接起来。

问题是,如何扫描已连接的设备?

在我的第一种方法中,我没有在连接方法之前调用 stopLeScan。

这与上述问题没有问题,但它导致 ui 中断(ui 更新间隔太短),有时连接时间非常非常慢。

在我让我的应用程序在连接之前调用 stopLeDevice 之后,每个问题都已解决,但弹出了一个新问题。新问题是我无法再在我的 scanResult 上看到连接的设备。它只显示断开连接的设备。我仍然想监控我连接的设备。我怎样才能做到这一点?