android ble蓝牙低功耗开发简单应用

关于蓝牙回调方法传递数据展示

这是我第一次接触蓝牙开发,所以基本上都不是和了解,做出来的东西也没有考虑到多线程的问题,就是公司自己的小demo,功能就是取出蓝牙里面传递的数据并且读出信息
1.蓝牙使用主要依赖的是 BluetoothAdapter 和 BluetoothManager ,基本的打开蓝牙就不说了直接使用


   // 初始化蓝牙适配器
        btm = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
        if (btm == null) {
            return;
        }
        bta = btm.getAdapter();
        // 打开蓝牙
        if (bta == null || !bta.isEnabled()) {
            mToast = Toast.makeText(this, "请打开蓝牙", Toast.LENGTH_LONG);
            mToast.setGravity(Gravity.CENTER_HORIZONTAL,0,0);
            mToast.show();
            onBackPressed();
        } else {
            bta.startLeScan(oldBtsc);
            // 设置扫描时间
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    bta.stopLeScan(oldBtsc);
                }
            }, 60*1000*30);
        }

这段代码是打开蓝牙,设定了一个结束时间,可以将代码封装到方法里面,然后onCreate里面调用

打开蓝牙适配器后就能直接取到信息,通过广播启动后的回调

  /**
     * 广播启动后的回调函数
     */
    private BluetoothAdapter.LeScanCallback oldBtsc = new BluetoothAdapter.LeScanCallback() {
        @Override
        public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {
      //这边可以写业务逻辑,scanRecord 就是你接受的蓝牙传递给你的信息,基本上都会有对应的处理信息的逻辑,我们公司的不能写出来,
      //就是自己思考,我这边使用了adapter显示数据,由于有更新的信息,所以使用的notifyDataSetChanged方法

                    adapter.notifyDataSetChanged();
                }
            }
        };
    };

最后退出本页面时在onDestroy关比适配器 其他就自己考虑了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值