Android
中蓝牙模块的使用
1. 使用蓝牙的响应权限
XML/HTML code
1
2
<
uses-permission
android:name="android.permission.BLUETOOTH" />
<
uses-permission
android:name="android.permission.BLUETOOTH_ADMIN" />
2. 配置本机蓝牙模块
在这里首先要了解对蓝牙操作一个核心类 BluetoothAdapter
Java code
1
2
3
4
5
6
7
8
9
10
11
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
//
直接打开系统的蓝牙设置面板
Intent intent =
new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(intent,
0x1
);
//
直接打开蓝牙
adapter.enable();
//
关闭蓝牙
adapter.disable();
//打开本机的蓝牙发现功能(默认打开 120 秒,可以将时间最多延长至 300
秒)
Intent discoveryIntent =
new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,
300
);
//设置持续时间(最多
3.搜索蓝牙设备
使用 BluetoothAdapter 的 startDiscovery()方法来搜索蓝牙设备
startDiscovery()方法是一个异步方法,调用后会立即返回。该方法会进行对其他蓝牙设备
的搜索,该过程会持续 12 秒。该方法调用后,搜索过程实际上是在一个 System Service 中
进行的,所以可以调用 cancelDiscovery()方法来停止搜索(该方法可以在未执行 discovery
请求时调用)。
请求 Discovery 后,系统开始搜索蓝牙设备,在这个过程中,系统会发送以下三个广播:
ACTION_DISCOVERY_START:开始搜索
ACTION_DISCOVERY_FINISHED:搜索结束
ACTION_FOUND:找到设备,这个 Intent 中包含两个 extra fields:EXTRA_DEVICE 和
EXTRA_CLASS,分别包含 BluetooDevice 和 BluetoothClass。
我们可以自己注册相应的 BroadcastReceiver 来接收响应的广播,以便实现某些功能
找软件资料,就到一览软件文库