gpt4 book ai didi

android - 通过蓝牙 UUID 连接到 Android 设备时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:56 34 4
gpt4 key购买 nike

你好,我正在尝试创建一个蓝牙应用程序,但无法连接到另一台 Android 设备。似乎发生的问题是在传出连接 createRfcommSocketToServiceRecord(UUID) 中 - 我认为 UUID 对两个设备都不正确。文档说:

if you are connecting to an Android peer then please generate your own unique UUID.

我的问题是 - 如果其他 Android 设备没有安装我的应用程序,我如何使用正确的 UUID 连接到它?我试过简单地使用通用 UUID 00001101-0000-1000-8000-00805F9B34FB,但这似乎无法解决问题。

这是部分代码示例:

private static final UUID MY_UUID_SECURE = 
UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

private class ConnectThread extends Thread {
BluetoothDevice mdevice;
BluetoothSocket mclientSocket;

//private String mSocketType;
private Handler handler;
private ProgressDialog dialog;

public ConnectThread(BluetoothDevice device) {
mdevice = device;
BluetoothSocket temp = null;

try {
System.out.println("making connection to remote device");
temp = mdevice.createRfcommSocketToServiceRecord(MY_UUID_SECURE);

} catch (IOException e) {
e.printStackTrace();
}

Log.i(TAG, "Bluetooth Socket" + temp.toString() + "obtained");
mclientSocket = temp;
}

public synchronized void run() {
try {
Log.i(TAG, "starting to connect");
mclientSocket.connect();
} catch (IOException e) {
Log.e(TAG, "connection Failed");

try {
mclientSocket.close();
} catch (IOException e2) {
; // Do nothing.
}
}
}

//public void cancel() {
//try {
// mclientSocket.close();
//} catch (IOException e) {
//Log.e(TAG, "close() of connect " + mSocketType + " socket failed", e);
//}
//}

注意:我还没有实现蓝牙服务器套接字,而是试图了解您如何连接到另一个没有安装我的应用程序的 Android 设备。一如既往地感谢帮助。谢谢。

最佳答案

发件人:http://developer.android.com/guide/topics/wireless/bluetooth.html

为了在两台设备上的应用程序之间创建连接,您必须同时实现服务器端和客户端机制,因为一台设备必须打开服务器套接字,而另一台设备必须启动连接(使用服务器设备的 MAC 地址来发起连接)。当服务器和客户端在同一个 RFCOMM channel 上都有一个连接的 BluetoothSocket 时,它们被认为相互连接。此时,每个设备都可以获得输入和输出流,并且可以开始数据传输,这将在管理连接部分进行讨论。本节介绍如何启动两个设备之间的连接。

服务器设备和客户端设备分别以不同的方式获取所需的BluetoothSocket。服务器将在接受传入连接时接收它。当客户端打开到服务器的 RFCOMM channel 时,客户端将收到它。

关于android - 通过蓝牙 UUID 连接到 Android 设备时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306848/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com