AndroidStudio安卓原生开发_Android扫描附近指定的蓝牙设备_通过设备名称过滤_计算距离_离扫描设备近的显示的时候放在前面---Android原生开发工作笔记128

本文介绍如何在Android原生开发中扫描并过滤指定蓝牙设备,特别是体重秤设备。通过设备名称筛选以QN-开头的体重秤,并根据距离进行倒序排序。还讨论了使用UUID进行过滤的更优方案,以及信号强度转化为距离的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     这里直接上代码吧,我这边的应用场景是,比如我扫描附近的体重秤,注意,我扫描的时候,需要过滤,只把扫描到的特定型号的,体重秤

显示出来,比如附近的手机,血压计等都不能扫描出来.同时比如如果有两台体重秤的话,一台离的近,一台离的远,我需要把

离得近的体重秤,在显示的时候,优先显示在上面.根据离扫描设备的距离,做个倒序排序:

    这里有个不好的地方,就是,我是用扫描到的设备的蓝牙的名称来进行过滤的,比如体重秤的话,他这个型号的,的蓝牙名称都是以

QN- 开头的,我直接判断,我扫描到的蓝牙设备是否以QN-开头,如果是,就认为是我要的体重秤设备..

    实际上,对于不同的设备,连接蓝牙等的操作,要么会提供特定的操作API,来扫描,要么会提供蓝牙的UUID,我们可以通过UUID来过滤.

后面会实现一个用这种方法过滤的版本,再发出来.

   这个蓝牙设备的UUID,一般都是一种品牌的机器,是一个UUID,所以可以用UUID进行过滤蓝牙设备.

去看代码吧:

1.这个是MainActivity的onCreate方法,里面initView()方法不用管,

   去看看这个initBluetooth方法,用来判断当前设备是否支持蓝牙.后面searchDevices()方法,先不用管,deviceNum也不用管.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        supe
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值