初步认识BLE到熟悉,浅谈!

从接触ble4.0(以下简称ble)到现在快半年的时间,一直想找个时间整理下自己的体会。终于等到了今天!开始~~~~!

在这里我就不介绍什么是BLE了,我也说的不是很准确,去百度百科比较靠谱。下面我们简单说下,在安卓端如何搜索、链接、控制,最后奉上一个简单的demo。

开始之前需要初始化蓝牙一些东东,如下:

BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
		mBluetoothAdapter = manager.getAdapter();
		// 绑定服务
				boolean bl = bindService(new Intent(this, BluetoothService.class),
						con, Context.BIND_AUTO_CREATE);
				if (bl) {
					System.out.println("启动服务 。。。");
				} else {
					System.out.println("启动失败。。。");
				}
				// 搜索蓝牙
//				TimerScanBle();
				// 注册广播
				registerReceiver(mBroadcastReceiver, Confing.getfilter());



1.搜索

很简单,在api里有很直接的方法使用。废话少说,直接上代码吧!

<span style="white-space:pre">	</span>public boolean startLeScan (BluetoothAdapter.LeScanCallback callback) //开始搜索
<pre name="code" class="java"><span style="white-space:pre">	</span>public void stopLeScan (BluetoothAdapter.LeScanCallback callback)//结束搜索

    那么如何使用呢?别急看下面的代码片段!瞅~~! 

 private void scanLeDevice(final boolean enable) {
        if (enable) {
            
            mHandler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    mScanning = false;
                    MainActivity.mBluetoothAdapter.stopLeScan(mLeScanCallback);//停止搜索的回调
                    
                }
            }, SCAN_PERIOD);//搜索多少时间

            mScanning = true;
            MainActivity.mBluetoothAdapter.startLeScan(mLeScanCallback);//开始搜索的回调
        } else {
            mScanning = false;
            MainActivity.mBluetoothAdapter.stopLeScan(mLeScanCallback);//停止搜索的回调
        }

    }
 //回调
private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {

        @Override
        public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {//添加扫描到的设备并更新界面
                    mLeDeviceListAdapter.addDevice(device);
                    mLeDeviceListAdapter.notifyDataSetChanged();
                }
            });
        }
    };
2.连接

   连接其实就是调用一个connect()这个方法。获取到了设备的地址,用bluetoothservice调用此方法进行连接。

3.控制

调用write方法进行写特征值,调用read方法进行读特征值。具体下载demo运行即可。如有疑问,可以联系我。44493547@qq.com
下载链接:点击打开链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

灿烂的黑土

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

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

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

打赏作者

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

抵扣说明:

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

余额充值