先看下结构目录
ChatService.java —— 蓝牙连接
DeviceList.java —— 设备显示
MainActivity.java—— 主界面
1.权限
要获取蓝牙功能,先在AndroidManifest.xml中申请权限
2.界面
先从比较直观的地方 弹 起吧。
主聊天界面:Listview显示对话,EditText编辑消息,Button发送消息
设备列表:2*ListView分别显示已配对和搜索到的设备。Button按钮开始查找。
下面讲讲如何实现其功能
3.代码
挑几个关键的地方,其它细节就不一一赘述了。
3.1 DeviceList —— 蓝牙搜索设备功能
蓝牙搜索主要是要实现一个BroadcastReceiver 广播接收者。
首先要注册广播,才能使用,添加蓝牙设备ACTION_FOUND等,如下
private IntentFilter filter = new IntentFilter();
…………………………………………………
filter.addAction(BluetoothDevice.ACTION_FOUND);
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
this.registerReceiver(mReceiver,filter);
其次就是这里广播接收
一旦开启广播搜索,并找到设备 接收到ACTION_FOUND的信息,则可以从BluetoothDevice.EXTRA_DEVICE中得到搜索到的设备信息,显示到屏幕上。