Android蓝牙初体验(一)

来源:互联网 发布:ubuntu鼠标键盘没反应 编辑:程序博客网 时间:2024/06/15 04:44

Android蓝牙初体验

项目需要使用android上位机与HC-04蓝牙模块通信,现总结一下app接受蓝牙模块信号的几个核心要点。

1. private static String address=”98:D3:37:90:B8:83”;// MAC掩码,类似与电脑的固定ip,每个蓝牙模块有个固定的mac,可以通过手机蓝牙设置查看到
2. private static final String SPP_UUID = “00001101-0000-1000-8000-00805F9B34FB”;//UUID,一个uuid对应一种service,常量
3. BluetoothAdapter mBluetoothAdapter =BluetoothAdapter.getDefaultAdapter(); //获取BluetoothAdapter对象,本地蓝牙对象
4. BluetoothDevice device=mBluetoothAdapter.getRemoteDevice(address);//获取模块蓝牙对象
5. BluetoothSocket mmSocket=device.createRfcommSocketToServiceRecord(UUID
.fromString(SPP_UUID));//这个操作应该在另一个线程中进行,构造方法中获取BluetoothSocket对象
6. mBluetoothAdapter.cancelDiscovery();//取消本机的可见性,不然会导致很卡
7. mmSocket.connect();//连接,可能失败
8. mConnectThread = null;//连接成功后,释放线程
9. mConnectedThread = new ConnectedThread(mmSocket);
mConnectedThread.start(); //开辟新的线程,去处理数据
10. mmSocket = socket;
InputStream tmpIn = null;
OutputStream tmpOut = null;
tmpIn = socket.getInputStream();
tmpOut = socket.getOutputStream();//绑定,在构造函数中实现初始化
11.之后通过bytes = mmInStream.read(buffer);处理接受到的数据,详细操作过程跟文本流差不多,就不做累述。

本流程省去了很多打开蓝牙,搜索蓝牙的操作,为了能够快速接入提前配对过的设备。以后逐渐完善蓝牙开发操作。

原创粉丝点击