# Bluetooth **Repository Path**: jeff0213/bluetooth ## Basic Information - **Project Name**: Bluetooth - **Description**: No description available - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-02-04 - **Last Updated**: 2022-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bluetooth #### 介绍 安卓经典蓝牙 #### 软件架构 java语言 Android Studio 4.1.2 先了解一下BluetoothAdapter 1. 该类仅继承了Object类; 2. BluetoothAdapter代表了移动设备的本地的蓝牙适配器, 通过该蓝牙适配器可以对蓝牙进行基本操作, 例如 : 启动设备发现(startDiscovery), 获取已配对设备(getBoundedDevices), 通过mac蓝牙地址获取蓝牙设备(getRemoteDevice), 从其它设备创建一个监听连接(listenUsingRfcommWithServiceRecord); #### 使用说明 1.BluetoothAdapter.getDefaultAdapter()该静态方法可以获取该适配器对象. 2. 权限(可以和1放在一起) main中添加 //开启系统定位 if (Build.VERSION.SDK_INT >= 23&& !isLocationOpen()) { Intent enableLocate = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivityForResult(enableLocate,1); }else { } // 申请打开蓝牙 if (!mBluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, 1); return; } //开启应用位置权限 ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.WRITE_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION}, 0); 3.扫描 参考源码中public void startBluetoothDevicesDiscovery()方法 4.连接 参考源码中 public void getConnectedBlutooth(String address)方法 5.下发数据 public void writeData() #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 研究过蓝牙的同学应该知道蓝牙下发速度是有瓶颈的 源码中使用ZLibUtils来实现数据压缩能够一定范围的实现数据量介绍,从而增加下发的速度