问题标签 [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 回答
1076 浏览

android - 如何在 Android 中连接蓝牙设备

我参考并模仿android-sdks\samples\android-18\legacy\BluetoothLeGatt的 Android 示例来开发应用程序。

我可以扫描设备。但是当我尝试连接蓝牙设备时,应用程序崩溃了。

这是我尝试连接蓝牙设备时应用程序崩溃的日志。

我不知道这个日志中的错误是什么?

有人可以告诉我错误以及如何解决吗???

非常感谢!!!

0 投票
2 回答
132 浏览

java - 在java中不连续地写入文件的最佳方法是什么?

我正在编写一个通过蓝牙传输文件的安卓应用程序。

我的问题是,不连续写入文件的最佳方式是什么,这意味着文件被写入外部存储目录,而数据通过蓝牙以块的形式发送。写作显然发生得更快,并在接收两个块之间暂停。

RandomAccessFile 和 FileChannel 对这项任务有效吗?

提前致谢。

PS:文件大小约为10MB

0 投票
3 回答
1089 浏览

java - 蓝牙设备连接问题

我正在开发一个 android 应用程序,我正在检查两个设备是否通过蓝牙连接

我正在使用以下代码注册广播接收器。

BroadcastReceiver 看起来像这样。

这怎么行不通。不确定我哪里出错了。请帮忙!谢谢!

0 投票
1 回答
1205 浏览

android - BluetoothServerSocket.accept() 是如何工作的?

所以我只是想弄清楚我的概念。究竟是如何BluetoothServerSocket.accept()工作的?Android文档提到它返回一个CONNECTED BluetoothSocket,但是在连接之前没有某种授权吗?

另外,我目前正在开发一个应用程序,其中一个设备充当主机并拥有一个侦听的 BluetoothServerSocket,但我想首先列出所有传入的客户端连接并让用户选择要连接的设备。那可能吗?如果是,怎么做?

提前致谢。:)

0 投票
1 回答
11849 浏览

android - Android蓝牙后台监听

我正在开发一个带有蓝牙聊天的安卓应用程序。我已经成功实现了与两部手机的蓝牙聊天。但我的问题是,如果我从聊天活动更改为下一个活动,则连接丢失,那么我无法从第二个活动发送消息。如何保持连接?
那就是我想通过我的应用程序保持联系。每当用户按下退出按钮时,只有连接才能断开。我想从一个活动发送消息并从另一个活动接收这就是我想要的。我无法使用我的代码创建后台服务。
谁能帮我拆分我的代码?如果我从一部手机收到一条消息,那么我想处理该消息并且我想发回结果,该处理将在下一个活动中进行,这是我的应用程序的工作。

0 投票
0 回答
327 浏览

android - 是否可以将 PandaBoard 制作为蓝牙耳机

我需要将 Pandaboard 制作为蓝牙耳机。有可能实现这一目标吗?

我按照下面的 URL 将源代码闪存到 sdcard 中。在闪烁之前,我修改了 system/etc/bluetooth/audio.conf 文件。在 audio.config 文件中,我启用了 HFP=true。

网址:https ://releases.linaro.org/13.04/android/panda/

这样做后,我尝试通过以下 Android-java 连接到蓝牙设备

我也尝试在没有 UUID 的情况下进行连接,如下所示

我无法连接到设备我看到无效的参数异常。

如果我尝试在 Android 手机上运行代码,我可以连接并发送 AT 命令。

但是在移动设备中我无法让它免提,我已经为它做了一个相关的帖子 https://stackoverflow.com/questions/19246344/is-it-possible-to-make-my-old-phone-as -免提和建立连接之间

回到 Pandaboard 我的方法正确吗?如何让 Pandaboard 蓝牙有耳机?

请分享对此的想法......

0 投票
1 回答
2297 浏览

android - 文件传输,每次都未经许可

我正在开发一个 android 应用程序,我想在其中非常快速地在两个设备之间发送图像文件。就像图像会从第一到第二,从第二到第一等等。该应用程序将在应用程序启动时请求 ONCE 使用您的蓝牙(或是否有任何其他服务要使用)的权限,但在文件传输时不会。我搜索了一下,得知未经许可的文件传输,在Android4+中是不允许的。所以有什么办法可以实现吗?

如果可以通过蓝牙以外的任何其他服务来实现,我想知道。任何建议都会有所帮助。谢谢你。

0 投票
5 回答
24254 浏览

android - Android 4.3:BLE:startLeScan() 的过滤行为

我正在开发一个 BluetoothLE 传感器设备,为此我需要形成一对多的数据广播。根据规范,外围设备可能只有一个主设备,并且由于我正在设计的芯片和堆栈的限制,一个主设备只能有三个从设备。据我了解,Android 无论如何都不能成为 BLE 从属设备,因此不能让我的设备作为主设备。

BT4 规范和制造商文档都谈到了另一种操作模式,称为广播模式。在广播模式下,永远不会建立连接,并且应用程序数据作为广告数据包的一部分进行传输。这完全符合我的需求,因为许多 Android/iOS 手机可以同时扫描每个数据包。一个广告包以突发方式多次传输,所以我怀疑数据的接收大部分是可靠的。如果一个数据包在这里和那里丢失,它是可以容忍的。

有趣的是,我希望这些数据包能够携带实时传感器数据,这些数据以 10-20Hz 的速率更新。从我在网上找到的示例来看,这种模式下的 BLE 主要用于“iBeacon”类型的实现,它们在其中广播静态数据。我找不到有关如何在 Android 堆栈中过滤广告数据包的任何信息。它们可能是每个蓝牙硬件地址返回一个结果,也可能是地址和数据的唯一组合。第二个选项适用于此应用程序。如果开始和停止扫描会重置过滤器,我也可以做一些工作。

Android 文档没有提到扫描方法中的设备过滤是如何工作的。我已经能够在网上找到一篇试图解决同样问题的帖子,但回复未解决:BLE: Multiple discovery of the same peripheral during scan。在 iOS 中,我的同事告诉我,有一个参数可以传递给 scan 函数,使这成为可能。

我试图从 Android 源代码中的 startLeScan() 调用中追溯代码,但代码非常复杂,并且抽象的使用使得很难识别包含它的对象的实现。我得到的最远的是从 BluetoothManagerService 类方法 getBluetoothGatt() 返回的 IBluetoothGatt 对象。该对象接收开始扫描的请求。它在 github 上的当前修订版的 BluetoothManagerService.java 的第 790 行附近被实例化。该对象是从消息的结果中投射出来的,所以我怀疑结果可能是电话/驱动程序特定的。能够进一步追踪它超出了我的专业知识。

我想解决的另一个问题是打开和关闭扫描的速度有多快。扫描是一项耗电量大的操作,但数据的广播将在相当精确的实时计时器上定期发生。因此,如果可以打开和关闭扫描,这将是一个很好的优化,这样广播和扫描是同步的,而扫描仪在其他 90% 以上的时间里会关闭。这可能需要进行实验测试。

我还在做可行性研究,看看我们的 Android 配件是否可行。我现在的手机还不能运行 4.3 版,所以我无法通过实验测试/破解它。

0 投票
1 回答
2850 浏览

android - 如何访问 android 中的 BluetoothPairingDialog.java?

每当出现蓝牙配对对话框时,有什么方法可以强制单击“配对按钮”?

在此处输入图像描述

0 投票
1 回答
454 浏览

android - 如何通过蓝牙知道 android 设备版本或 API

大家好, 在我的应用程序中,我只想发送数据 2.3.3 及更高版本的 android 欺骗,但是当我开始发现蓝牙设备时,我的应用程序会获取所有已激活的设备。

这些设备都是android和其他设备。我如何过滤或了解具有2.3.3或更高版本的设备

我的代码如下:

公共类 MainActivity 扩展 Activity 实现 OnItemClickListener {