Java 如何在不配对的情况下连接蓝牙设备

Java 如何在不配对的情况下连接蓝牙设备,java,android,bluetooth,connection,Java,Android,Bluetooth,Connection,我目前正在用java开发我的第一个应用程序 此应用程序需要直接连接我的BL652,它不接受任何类型的配对选项。话虽如此,我仍在使用下面的代码,它仍然试图与我的蓝牙设备配对,而不仅仅是连接。因此,我想知道我应该怎么做才能建立一个不需要配对的连接 提前感谢您的回复 String mac_address = "DA:72:21:29:0F:F0"; private static final UUID MY_UUID = UUID.fromString("E54B0002-67F5-479E-8711-

我目前正在用java开发我的第一个应用程序

此应用程序需要直接连接我的BL652,它不接受任何类型的配对选项。话虽如此,我仍在使用下面的代码,它仍然试图与我的蓝牙设备配对,而不仅仅是连接。因此,我想知道我应该怎么做才能建立一个不需要配对的连接

提前感谢您的回复

String mac_address = "DA:72:21:29:0F:F0";
private static final UUID MY_UUID = UUID.fromString("E54B0002-67F5-479E-8711-B3B99198CE6C");

lvNewDevices.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            BluetoothDevice device = (BluetoothDevice) mBluetoothAdapter.getRemoteDevice(mac_address);

           try {
                socket = device.createInsecureRfcommSocketToServiceRecord(MY_UUID);
                socket.connect();

                } catch (IOException e) {
                    e.printStackTrace();
                    }
String mac_address=“DA:72:21:29:0F:F0”;
私有静态最终UUID MY_UUID=UUID.fromString(“E54B0002-67F5-479E-8711-B3B99198CE6C”);
lvNewDevices.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
BluetoothDevice设备=(BluetoothDevice)mBluetoothAdapter.getRemoteDevice(mac\U地址);
试一试{
socket=device.createInsurerCommsocketToServiceRecord(我的UUID);
socket.connect();
}捕获(IOE异常){
e、 printStackTrace();
}

我不确定是否可以连接到外部硬件,但不需要配对就可以连接两部手机。我使用了。是的,它基本上是使用
BLE
工作的。据我所知,可以使用该API连接到
RaspberryPi

蓝牙设备可以与每个ot进行通信她使用主从配置。我首先尝试了两个BLE-HC05,一个作为主设备,另一个作为从设备,正如预期的那样,主设备能够发送数据,从设备能够接收数据,这可以通过Arduino IDE中的串行监视器看到。我开发了一个类似的应用程序,连接到BLE-HC05设备,发送和接收数据。But由于您试图在手机上获取数据或向应用发送数据,Android将不支持此类未配对的匿名通信。如果您在连接或配对蓝牙设备和应用时遇到问题,我可能会帮您解决。但就未配对的蓝牙通信而言,您可能无法找到way


编辑:连接任何蓝牙设备(如您提到的BLE-HC06)的代码为1234(仅当您未更改它时)

该设备是否支持LE?我认为Bluetooth Classic设备只能通过Pairing连接。这是一种低能耗的Bluetooth!
设备。CreateInsurerCommsockettoServiceRecord
正在使用Bluetooth Classic。对于LE,有完全不同的方式连接任何链接或建议如何连接?您尝试过搜索吗?例如:le,对于
android le connect
?我能够创建一个配对代码,它与我的HC-06配合得很好。问题是,我为我的le尝试的每种类型的唯一连接功能都不起作用,他们总是要求提供它没有的密钥,使它无法连接(至少我认为是这样的)。此外,NRF Connect提供了我期待的功能,但可用的源代码没有显示如何建立连接。但主要问题是,我的BLE没有密钥,因此当我尝试连接我的应用程序时,它会要求提供密钥来建立连接,但由于没有密钥,它无法连接。请尝试1234,它可以工作ed为我设计。您也可以配置设备,使其具有特定的密钥,使用Arduino1234中的AT命令是我用于HC-06的密钥,它工作正常。当我尝试使用BLE时,它不起作用。开始认为它仍然是一种配对类型的连接,但我找不到方法,已经尝试了不同类型的套接字或连接,这最终是一对类型的连接