这里直接上代码吧,我这边的应用场景是,比如我扫描附近的体重秤,注意,我扫描的时候,需要过滤,只把扫描到的特定型号的,体重秤
显示出来,比如附近的手机,血压计等都不能扫描出来.同时比如如果有两台体重秤的话,一台离的近,一台离的远,我需要把
离得近的体重秤,在显示的时候,优先显示在上面.根据离扫描设备的距离,做个倒序排序:
这里有个不好的地方,就是,我是用扫描到的设备的蓝牙的名称来进行过滤的,比如体重秤的话,他这个型号的,的蓝牙名称都是以
QN- 开头的,我直接判断,我扫描到的蓝牙设备是否以QN-开头,如果是,就认为是我要的体重秤设备..
实际上,对于不同的设备,连接蓝牙等的操作,要么会提供特定的操作API,来扫描,要么会提供蓝牙的UUID,我们可以通过UUID来过滤.
后面会实现一个用这种方法过滤的版本,再发出来.
这个蓝牙设备的UUID,一般都是一种品牌的机器,是一个UUID,所以可以用UUID进行过滤蓝牙设备.
去看代码吧:
1.这个是MainActivity的onCreate方法,里面initView()方法不用管,
去看看这个initBluetooth方法,用来判断当前设备是否支持蓝牙.后面searchDevices()方法,先不用管,deviceNum也不用管.
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout_setting);initView();//初始化蓝牙设备:initBluetooth();//搜索蓝牙设备//searchDevices();//初始化蓝牙搜索设备编号deviceNum ="0";