2017-2-16(android蓝牙连接和开发)

首先:

在Manifest.xml文件需要打开权限:

另外6.0需要增加以下这两个权限:

第一个是允许一个程序访问精确位置(如GPS)

第二个是允许一个程序访问CellID或WiFi热点来获取粗略的位置

现在暂时发现只是6.0需要增加这两个权限,7.0测试过不用增加;

网上说6.0以后还要动态增加这两个权限,但我在开发过程测试6.0手机并没有发现需要动态增加两个权限。

进行蓝牙开发:

1、获取本地蓝牙实例:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

获取后判断设备是否开启蓝牙;没有强制开启蓝牙设备


2017-2-16(android蓝牙连接和开发)_第1张图片

开启后进行搜索蓝牙设备:

mBluetoothAdapter.startDiscovery();

这里需要开启广播注册广播查找蓝牙设备

mBuBluetoothReciever = new BluetoothReciever();

// 注册BroadcastReceiver

IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);

registerReceiver(mBuBluetoothReciever, filter); // 不要忘了之后解除绑定

广播接收:


2017-2-16(android蓝牙连接和开发)_第2张图片

有个适配器装载搜索到的蓝牙设备:


2017-2-16(android蓝牙连接和开发)_第3张图片

点击蓝牙设备进行连接:


2017-2-16(android蓝牙连接和开发)_第4张图片

这里的connectBluetooth(bluetoothDevice);是连接外设,需要外设提供API这里,外设的代码是:(不同的设备就是不同的连接代码,这个要看外设提供的API)


2017-2-16(android蓝牙连接和开发)_第5张图片

以上基本就是一次完整的蓝牙连接,从蓝牙开启  --> 蓝牙搜索 --> 蓝牙连接,

下面再说一种情况就是,连接已匹配过的设备:

android提供的API是:

获取已匹配的设备进行连接

2017-2-16(android蓝牙连接和开发)_第6张图片

点击选中的设备进行连接,代码跟之前的一样根据外设不同而不同

你可能感兴趣的:(2017-2-16(android蓝牙连接和开发))