问题标签 [bluetooth-socket]

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 投票
2 回答
881 浏览

java - 输入流问题

卡在一个问题上,

我正在使用BluetoothSocket类,我在输入和输出流的帮助下发送和接收数据。

当应用程序从输入流中接收到大量数据时,我会强行杀死我的应用程序,之后我会再次重新启动我的应用程序,但InputStream会返回以前的数据,这些数据不再需要了。如何丢弃旧数据?

有没有人解决这个问题?

以下是我的源代码:

0 投票
0 回答
276 浏览

sockets - 什么是保持蓝牙连接活跃和可用的好方法?

到目前为止,我尝试的是关闭套接字并每 15 秒打开一个新套接字。那可靠吗?

尝试与蓝牙打印机保持连接

0 投票
0 回答
35 浏览

java - 套接字客户端 - 如何

我在一个使用蓝牙套接字的 Android 项目中。该应用程序是客户端套接字。但是应用程序在工作时崩溃。谁能帮我解决这个问题。

这是代码

提前致谢。

0 投票
0 回答
716 浏览

qt - Qt:在 QML 中切换页面后的 RFCOMM BluetoothSocket 连接问题

我正在 Qt Creator 中开发一个跨平台应用程序,该应用程序具有通过经典蓝牙控制设备的练习。我有一个通信协议。首先:我可以连接到设备并使用 BluetoothSocket 向其写入数据。如果我在命令之后将startMotor()函数放入socketConnectedSLOT 中,beepBuzzor()那么它工作正常,我得到state() connected.

我的问题是,如果我在 Android 上的应用程序中切换页面并单击“启动电机”按钮,我会得到state() unconnected,但我仍然连接到设备,因为设备上的 LED 显示已连接。我的应用程序不会崩溃。我认为问题与 一致socket->connectToService(...),但我不确定要更改什么。beepBuzzor 命令可以正常工作,startMotor 命令也可以。但是,如果我在成功 connectToService() 后调用该函数,则它不起作用,因为状态未连接。

0 投票
1 回答
411 浏览

android - Android - 启动蓝牙套接字 - 连接超时

我需要连接到充当服务器的蓝牙设备。我知道它的 UUID(至少设备的文档包含它)。但是,当我尝试连接它时出现异常。发现部分成功发生。

在下文中,我引用了相关的代码部分。

这是发现。成功找到我的设备后,我尝试连接到它。

ConnectThread 类在这里:

UUID 给出为

感谢您的时间和专业知识!

0 投票
1 回答
1605 浏览

android - BluetoothSocket.connect() 在带有 Android 9 的三星 S9 上失败

我正在开发一个需要与蓝牙设备配对的原生 Android 应用程序。

使用搭载 Android 9 的三星 S9 的用户报告说他们的手机无法与蓝牙设备配对,经过长时间的研究后,我要求对其进行测试,他们是对的,它适用于除搭载 Android 9 的三星 9 之外的所有设备。

这是我的代码

我想问题出在套接字实例的创建上。

我也试过...

与...

但一切正常,这里有一些日志:

任何想法?

太感谢了。

毛里西奥

0 投票
1 回答
437 浏览

android - BluetoothDevice.createrfcommsockettoservicerecord 为 Null

我已成功识别蓝牙设备 (HC-05),我得到了它的名称、MAC 地址和绑定状态,但是当我尝试创建客户端套接字以启动与它的蓝牙连接时,我得到了一个空套接字.

然后:

这是空的。

我的 UUID 是:

有什么见解吗?

0 投票
1 回答
140 浏览

android - 如何在不取消配对的情况下让两个 Android 设备连接到同一个蓝牙设备?

我有一个通过 SPP 与蓝牙设备通信的应用程序,我发现当我尝试使用另一个 Android 设备连接到同一个蓝牙设备时,即使我关闭,另一个 Android 设备也无法连接到蓝牙设备我的应用程序或从蓝牙设备中移除电源。唯一的解决方法是取消配对蓝牙设备。我确信我已经关闭了所有的套接字并向我的蓝牙设备发送了正确的断开命令;我想知道为什么我的第二台 Android 设备无法连接到我的蓝牙设备,除非我取消配对。

这是连接的代码:

公共类 ConnectTask 扩展 AsyncTask {

更新:原来这个问题是特定于某些 Android 设备的。我遇到此问题的设备具体是在使用两台 Dragon Touch V10 平板电脑时。其他设备我没有这个问题。蓝牙设备基于 RN4677。

0 投票
1 回答
78 浏览

java - Bluetoothsocket 影响播放和录制音频的线程

我有一个同时运行 3 个线程的应用程序。一个线程用于在手机和另一个蓝牙设备 (Arduino) 之间建立蓝牙连接。线程 2 播放通过蓝牙从另一部手机传入的音频。线程 3 录制并通过蓝牙将音频发送到另一部手机。

如果电话试图与 Arduino 建立连接(当线程 1 正在运行 bluetoothsocket.connect();),音频通信会出现很多故障。但是,当手机没有尝试与 Arduino 建立连接或连接已经建立并且线程 1 完成时,则通信良好。

这是线程 1 的代码 - arduino(此代码带有一个类)

线程 2 和 3 中的音频代码(此代码与另一个类有关)

我在 octacore android oreo 中测试了代码。但是,当我在手机 sdk 23 中执行此操作时,情况最糟糕。

0 投票
0 回答
337 浏览

python - 如何使用 pyjnius 通过 Android BluetoothSocket 发送数据?

我正在尝试通过两个 Android 平板电脑之间的 BluetoothSocket 发送数据。我使用“ createRfcommSocketToServiceRecord ”创建了一个,并且在两个设备上“ isConnected() ”返回 True,“ getRemoteDevice().getName() ”根据需要返回另一个设备。但是,当我尝试在它们之间发送和接收数据时,两端都没有收到任何内容。在 BluetoothAdapter (link)的 Android 文档中,它指出:

使用 BluetoothDevice#createRfcommSocketToServiceRecord 从另一个使用相同 UUID 的设备连接到此套接字。

我已经尝试在两台设备上运行底部的代码。我也试过运行:

...在一台设备上,另一台设备底部的代码,这导致即使在另一台设备上尝试连接到它之后,ServerSocket 也无限期地挂在 accept() 上。我认为我在做一些根本错误的事情,但我已经搜索了一段时间的 Android 开发人员文档,但我无法弄清楚我的误解是什么。任何启蒙都将不胜感激。

我正在使用 Kivy 创建一个用于发送一些测试数据的文本字段,但我在这里对其进行了简化。