Android Bluetooth蓝牙开发:发现Bluetooth蓝牙设备(1)
Android Bluetooth蓝牙作为设备,要与其他蓝牙设备互联,那么先决条件就是已经被发现,本文先简介Android Bluetooth蓝牙的发现。
(1)启动代码后,首先要检查是否设备是否支持蓝牙设备,如果设备自身就没有蓝牙设备,巧妇难为无米之炊,就不要再做无用功了,代码片段:
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
// 检查设备上是否支持蓝牙设备
if (mBluetoothAdapter == null) {
Log.d(tag, "Device does not support Bluetooth");
// 不支持蓝牙设备,木法,巧妇难为无米之炊,退出!
return;
}
(2)如果设备上有蓝牙设备,但此时用户有可能没有打开蓝牙,那么此时代码应该启动一个系统调用,弹出系统打开蓝牙的对话框,让用户手动打开蓝牙设备,代码片段:
// 如果用户的设备没有开启蓝牙,则弹出开启蓝牙设备的对话框,让用户开启蓝牙
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
// 接下去,在onActivityResult回调判断
}
(3)一切就绪后(设备上有蓝牙硬件模块,切蓝牙已经打开),接下来就是发现周围的蓝牙设备了,要做的就是扫描。本身扫描蓝牙的代码很简单,就一句代码:BluetoothAdapter的startDiscovery(),startDiscovery()返回的一个是布尔值,此值为true时候仅仅表示Android系统已经启动蓝牙模块的扫描过程,这个扫描过程是一个异步的过程。为了得到扫描结果,在一个广播接收器中异步接收Android系统发送的扫描结果:
// 广播接收发现蓝牙设备
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();