Android 本地蓝牙适配器 (BluetoothAdapter)

本地蓝牙适配器,可以执行蓝牙相关的基本任务。例如开发扫描蓝牙设备,查询已经配对设备列表,实例化一个已知物理地址的蓝牙设备(@link BluetoothDevice),监听其他已经连接的蓝牙设备(@link BluetoothServerSocket),开始扫描蓝牙设备(Bluetooth LE devices :蓝牙4.0设备)。

获取 BluetoothAdapter对象:

4.2及以下:

BluetoothAdapter.getDefaultAdapter()

4.3及以上:

BluetoothManager bluetoothManager= (BluetoothManager) GlobalApplication.getInstance().getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter   mBluetoothAdapter=bluetoothManager.getAdapter();

判断蓝牙是否打开:

mBluetoothAdapter.isEnabled()

打开蓝牙:

1.请求打开蓝牙

Intent enableIntent = new Intent( BluetoothAdapter.ACTION_REQUEST_ENABLE);
activity.startActivityForResult(enableIntent, Constant.REQUEST_ENABLE_BT);

2.直接打开蓝牙,不需要用户请求

mBluetoothAdapter.enable();

扫描:

蓝牙是否在搜索设备:

mBluetoothAdapter.isDiscovering()

取消扫描:

mBluetoothAdapter.cancelDiscovery();

开始扫描:

1.是一个异步方法 工作是在子线程中进行的

2.系统发送BluetoothAdapter.ACTIOIN_DISCOVERY_STARTED的广播。

3.搜索其他蓝牙设备

4.找到一个设备就发送一个BluetoothDevice.ACTION_FOUND的广播

5.从广播接收器中就可以得到这个BluetoothDevice对象

mBluetoothAdapter.startDiscovery();

取消搜索:

扫描回调:

开始扫描ble设备,扫描到一个设备执行一次回调方法

mBluetoothAdapter.startLeScan(mLeScanCallback);

停止正在进行的蓝牙设备扫描:

mBluetoothAdapter.stopLeScan(mLeScanCallback);

蓝牙回调方法:

private static BluetoothAdapter.LeScanCallback mLeScanCallback=new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {

   }
};

获取以配对的蓝牙设备:

还需要过滤是否为索要连接的设备

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
// 获取已经配对的设备
Set pairedDevicesSet = mBluetoothAdapter
      .getBondedDevices();
展开阅读全文

页面更新:2024-04-27

标签:蓝牙   接收器   线程   实例   对象   物理地址   方法   用户   数码   设备   列表   工作   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top