在开发Android应用时,如果你需要通过蓝牙发送数据,通常会使用BluetoothAdapter
、BluetoothDevice
和BluetoothSocket
等类。以下是一个基本的例子,展示了如何使用这些API通过蓝牙发送数据。
-
检查并启用蓝牙:
在进行蓝牙操作之前,确保设备的蓝牙已启用。BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (bluetoothAdapter == null) { // 设备不支持蓝牙 } else { if (!bluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } }
-
查找蓝牙设备:
使用BluetoothAdapter
查找周围的蓝牙设备。Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices(); if (pairedDevices.size() > 0) { for (BluetoothDevice device : pairedDevices) { // 遍历已配对的设备 String deviceName = device.getName(); String deviceAddress = device.getAddress(); // 根据设备名或地址进行连接 } }
-
连接到蓝牙设备:
使用BluetoothDevice
创建一个BluetoothSocket
并连接到设备。BluetoothDevice device = bluetoothAdapter.getRemoteDevice(deviceAddress); BluetoothSocket bluetoothSocket = null; try { bluetoothSocket = device.createRfcommSocketToServiceRecord(MY_UUID); bluetoothSocket.connect(); } catch (IOException e) { e.printStackTrace(); try { bluetoothSocket.close(); } catch (IOException closeException) { closeException.printStackTrace(); } }
-
发送数据:
使用BluetoothSocket
的输出流发送数据。OutputStream outputStream = null; try { outputStream = bluetoothSocket.getOutputStream(); String message = "Hello, Bluetooth!"; outputStream.write(message.getBytes()); } catch (IOException e) { e.printStackTrace(); } finally { if (outputStream != null) { try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
-
关闭连接:
完成数据传输后,关闭BluetoothSocket
。try { bluetoothSocket.close(); } catch (IOException e) { e.printStackTrace(); }
以上是一个简单的例子,展示了如何通过蓝牙在Android设备之间发送数据。请根据实际应用需求进行扩展和修改。此外,在实际开发中,建议处理好各种异常情况,并在UI线程之外执行蓝牙操作以避免阻塞主线程。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/189471.html