Android 蓝牙开发

一 、蓝牙开发流程图

图片来自:https://blog.csdn.net/xj10160/article/details/73655112

二 、 蓝牙开发权限

 

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

三 、打开蓝牙

BluetoothAdapter bluetoothAdapter;
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (!bluetoothAdapter.isEnabled()) {
    // 启动蓝牙
    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivityForResult(enableBtIntent, BleManager.REQUEST_ENABLE_BT);
}

四 、搜索并展示设备列表

//搜索设备
private void scanLeDevice(final boolean enable) {
    bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    if (enable) {   //true
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                mScanning = false;  //设置一个标识
                bluetoothAdapter.stopLeScan(mLeScanCallback);
                tvSearchLan.setText(R.string.search_again);
            }
        }, 10 * 1000);  //10秒后停止搜索
        mScanning = true;
        bluetoothAdapter.startLeScan(mLeScanCallback); //开始搜索
        tvSearchLan.setText(R.string.searching);
    } else {//false
        mScanning = false;
        bluetoothAdapter.stopLeScan(mLeScanCallback);//停止搜索
        tvSearchLan.setText(R.string.search_again);
    }
}
//搜索设备的回调
private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
    @Override
    public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord) {
        runOnUiThread(new Runnable() {
            @Override
            
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值