问题标签 [android-bluetooth]

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 回答
1985 浏览

android - 屏幕关闭时如何保持蓝牙连接?

我有一个通过蓝牙连接到外部传感器的应用程序。传感器用于心电图并不断发送数据。我需要手机在不断开蓝牙连接的情况下进入睡眠状态,我该怎么做?

基本上我只想在手机和传感器执行心电图时尽可能多地节省电量。连接可能需要保持打开 8 小时或更长时间。

0 投票
1 回答
405 浏览

android - 关闭外围设备导致意外行为

使用 Android 4.3/Samsung BLE 2.0 SDK,观察到当外围设备关闭时,SDK 将立即或延迟约 20 秒后收到 onConnectionStateChange (DEVICE_DISCONNECTED)。根据我的经验,这取决于外围设备的实现,其中一些会尝试报告它们正在关闭,而另一些则没有,因此 SDK 必须等待约 20 秒才能超时。

为了消除这种行为,我尝试使用计时器来检查我是否可以读取某个特征。如果读取超时,我会调用 disconnect(Android 4.3)/cancelConnection(Samsung) 来终止连接。调用本身成功并且 onConnectionStateChange 回调返回状态 GATT_SUCCESS。然后我打开外围设备并立即连接它,发现服务,当我尝试读/写/通知任何通知时遇到问题。通过在 iOS 中使用 LightBlue,我可以确认外围设备未连接。

在关闭外围设备 20 秒后,我将收到 DEVICE_DISCONNECTED 回调。之后我再次连接,一切正常。

有两个问题:1.我们应该在20s延迟期间连接到外围设备吗?2. 有什么方法可以在外围设备关闭时得到通知?

提前致谢。

0 投票
2 回答
13578 浏览

java - 蓝牙:服务发现失败

我尝试在我的 Android 应用程序(在运行 4.1.2 的三星手机:客户端)和我的笔记本电脑(Win7,64 位:服务器)之间建立蓝牙连接。它总是因服务发现失败而失败

我阅读了有关此的各种主题(在这里那里),但它并没有解决我的问题。

我有两个问题:

  • 什么是众所周知的 UUID "00001101-0000-1000-8000-00805F9B34FB"。为什么/何时应该使用它?
  • 任何调查/解决我的问题的建议将不胜感激。

评论:

  • 我试图建立一个安全和不安全的连接(两者都失败)
  • 我可以从“设置”>“蓝牙”将我的笔记本电脑和我的设备配对
  • 正如评论中所建议的:我尝试使用随机生成的 UUID(但两边相同)而不是众所周知的 UUID ,但我仍然有完全相同的行为。

我有这些权限

编辑

我没有在客户端对 UUID 进行编码,而是尝试了以下操作(但仍然出现相同的错误):

echo-server 的 UUID 始终是数组中的最后一个。

结束编辑

以下是客户端上的相关日志:


这是重现错误的代码(它是简化版本,它编译并重现错误 - 至少在我的硬件上 - )

客户

服务器是一个简单的回显服务器(基于 Bluecove 库,我从这里获取代码:http: //www.miniware.net/mobile/articles/viewarticle.php?id= 22 )

服务器

服务器 pom.xml

0 投票
6 回答
42296 浏览

ios - 使用蓝牙 LE 在 iOS 和 Android 之间进行通信

我有一个使用 CoreBluetooth 在 iPad(中央)和 iPhone(外围)之间进行通信的工作应用程序。我有一项具有两个特征的服务。我有一个 Nexus 7,运行最新的 Android 4.3,支持 BTLE。Android 加入 BTLE 潮流有点晚了,但看起来他们正在接近它,就像 iOS 所做的那样,最初他们只支持充当中心,而外围模式将在以后的版本中出现。我可以加载示例 Android BTLE 应用程序并浏览附近的外围设备。将我的 iPhone 广告作为外围设备,我可以在 Android 端附近的外围设备列表中看到来自 CBAdvertisementDataLocalNameKey 的值。我可以连接到 iPhone 并且蓝牙符号在连接时从浅灰色变为黑色。连接总是持续恰好 10 秒,然后断开连接。在 Android 端,我应该会在连接后立即看到可用服务和特征的列表。我已经证明 Android 代码设置正确,因为我可以将它连接到我拥有的 TI CC2541DK-SENSOR 硬件,并且在连接到它时会列出所有服务和特性。

在过去的几天里,我一直在解决这个问题,但没有成功。问题是我无法确定哪个设备遇到错误并因此导致断开连接。在连接阶段或服务发现阶段没有来自 CBPeripheralManagerDelegate 的回调,所以我不知道在什么时候发生错误(如果错误发生在 iOS 端)。在 Android 端,调用了一个方法来启动服务发现,但是它们的回调“onServicesDiscovered”从未被调用,这令人困惑。有什么办法可以深入了解 iOS 端的 BTLE 通信,看看发生了什么并确定发生了什么错误?

0 投票
1 回答
1784 浏览

android - 安卓蓝牙打印机

I am trying to make an android bluetooth printer application, in which I am successful in detecting bluetooth devices in my proximity,but I am not able to set up a connection when one of the device is choose for connection. 同样当我试图在列表视图中获取设备名称时,它多次显示一个名称。我在下面发布我的代码。请帮助

0 投票
4 回答
2974 浏览

android - 蓝牙不向其他设备发送文件

已经问过了,但我没有找到任何解决方案。对于蓝牙应用程序,我使用的是bluetoothShare.class.

我将文件发送到目标设备的源代码

MainActivity.class:

和 blueToothShare.class:

0 投票
1 回答
2710 浏览

android - Android蓝牙权限异常

在我的蓝牙应用程序中,我遇到了以下异常,任何人都可以帮助解决这个问题。

08-29 13:07:08.370: E/DatabaseUtils(31342): java.lang.SecurityException: Permission Denial: writing com.android.bluetooth.opp.BluetoothOppProvider uri content://com.android.bluetooth.opp/btopp from pid=9760, uid=10110 需要 android.permission.ACCESS_BLUETOOTH_SHARE 或 grantUriPermission()

我的清单文件是

0 投票
1 回答
204 浏览

android - BLE 外设角色支持是否会在未来版本中添加到 Android API 中?

Apple 最初并未在 iOS5 中包含外围角色支持,但后来在 iOS6 中包含了。Android 中的外设角色支持也很有用。有关此主题的任何见解都会有所帮助。

-维克

0 投票
1 回答
149 浏览

android-wifi - 将一台安卓设备访问到另一台安卓设备

我想创建两个不同的应用程序。在第一个应用程序中,用户应该能够访问其他设备的相机,在第二个应用程序中,用户通过键盘输入一个设备,它应该显示在其他设备上。

为此,是否必须通过蓝牙或 Wi-Fi 访问其他手机的应用程序?

怎么可能?

0 投票
0 回答
119 浏览

android - Android 蓝牙自动重连

Android蓝牙重新连接没有发生。我在 2 部手机(HTC 渴望和三星 Galaxy s)中使用了 Android BluethoothChat 示例应用程序。第一次配对后,它工作正常,它已连接并能够发送和接收数据。但是当其中一个设备失去连接时,无法重新连接同一设备。连接丢失后,我停止了 BluethoothChatService 并重新启动,但它没有与其他设备连接。

1)两侧启动应用程序 - 自动连接(工作正常)

2)任何一侧的连接丢失 - 重新连接不会发生