Adnroid 建立蓝牙连接

Android 建立蓝牙连接

  1. 申请蓝牙使用权限
1
2
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
  1. 请求打开蓝牙

    1
    2
    
    Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivityForResult(intent,1);
    
  2. 获取蓝牙适配器

    1
    
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    
  3. 通过蓝牙设备地址构造 Device

    1
    
    mDevice = mBlueToothAdapter.getRemoteDevice("XX:XX:XX:XX:XX:XX");
    
  4. 创建 RFCOMM socket,连接到对端蓝牙指定服务

    UUID mUUID = UUID.fromString("c7f94713-891e-496a-a0e7-983a0946126e");
    mBluetoothSocket = mDevice.createRfcommSocketToServiceRecord(mUUID);
    mBluetoothSocket.connect();
    
  5. 使用 socket 进行数据收发

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    // 获取连接 socket 的输入流
    inputStream = mBluetoothSocket.getInputStream();
    // 读取数据
    inputStream.read(buffer);
    
    // 获取连接 socket 的输出流
    outputStream = mBluetoothSocket.getOutputStream();
    // 写入数据
    outputStream.write(buffer);
    
  6. 关闭 socket

    1
    
    mBluetoothSocket.close();
    
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计