Java Android Bluetooth可连接其他蓝牙设备

Java Android Bluetooth可连接其他蓝牙设备,java,android,bluetooth,Java,Android,Bluetooth,我正在做基于蓝牙的应用程序,我想连接其他设备,如诺基亚设备和打印机 我参考了android蓝牙文档。它展示了蓝牙API的所有基本功能,我做了所有这些事情 Scanning for other Bluetooth devices Querying the local Bluetooth adapter for paired Bluetooth devices Establishing RFCOMM channels/sockets Connecting to a remote device Tra

我正在做基于蓝牙的应用程序,我想连接其他设备,如诺基亚设备和打印机

我参考了android蓝牙文档。它展示了蓝牙API的所有基本功能,我做了所有这些事情

Scanning for other Bluetooth devices
Querying the local Bluetooth adapter for paired Bluetooth devices
Establishing RFCOMM channels/sockets
Connecting to a remote device
Transfering data over Bluetooth
我从BluetoothChat获得参考,android的样本

BluetoothChat This application send data to another android device but for that this application must be installed in both the devices.
像这样

我想要的是

  • 我想将文件从一个设备从我的应用程序发送到另一个设备,即使另一个设备没有运行我们的应用程序,这也可以工作。i、 e.接收器设备也能够使用默认蓝牙接收文件

  • 这在android中可能吗?

    我认为这是不可能的

    事实上,当您创建蓝牙套接字时,您必须使用
    createrFComSocketToServiceRecord(UUID)

    此函数需要UUID,UUID是两个设备上的应用程序之间共享的字符串,因此可以建立连接


    如果没有蓝牙插座在另一台设备上监听,使用完全相同的UUID,您将无法共享数据。

    您可以轻松实现两台BT设备之间的连接。 你只需要打个电话

    createRfcommSocketToServiceRecord(UUID)
    
    使用UUID,了解接收器设备。 对于文件传输操作,UUID必须等于(例如)00001106-0000-1000-8000-00805F9B34FB(文件传输服务)

    所以,您的连接代码可能看起来像下面的代码

    BluetoothDevice=mBluetoothAdapter.getRemoteDevice(“00:0A:94:16:77:A0”); 蓝牙插座

    try {
        log(TAG, "Remote device " + device);
        ParcelUuid[] uuids = device.getUuids();
        boolean isFileTransferSupported = false;
        UUID ftpUID = UUID.fromString("00001106-0000-1000-8000-00805F9B34FB");
        // Check if remote device supports file transfer
        for (ParcelUuid parcelUuid: uuids) {
            if (parcelUuid.getUuid().equals(ftpUID)) {
                isFileTransferSupported = true;
                break;
            }
        }
        if (!isFileTransferSupported) {
            log(TAG, "Remote bluetooth device does not supports file transfer ");
            return;
        }
        clientSocket = device.createRfcommSocketToServiceRecord(ftpUID);
        clientSocket.connect();
    } catch (IOException e) {
        return;
    }
    

    感谢您的回复,我想明确一点,在我的应用程序中,通过编码无法连接蓝牙设备?或者有什么解决办法?嘿,你找到解决办法了吗??