• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

鸿蒙OS 传统蓝牙本机管理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

场景介绍

传统蓝牙本机管理主要是针对蓝牙本机的基本操作,包括打开和关闭蓝牙、设置和获取本机蓝牙名称、扫描和取消扫描周边蓝牙设备、获取本机蓝牙 profile 对其他设备的连接状态、获取本机蓝牙已配对的蓝牙设备列表。

接口说明

接口名 功能描述
getDefaultHost(Context context) 获取BluetoothHost实例,去管理本机蓝牙操作。
enableBt() 打开本机蓝牙。
disableBt() 关闭本机蓝牙。
setLocalName(String name) 设置本机蓝牙名称。
getLocalName() 获取本机蓝牙名称。
getBtState() 获取本机蓝牙状态。
startBtDiscovery() 发起蓝牙设备扫描。
cancelBtDiscovery() 取消蓝牙设备扫描。
isBtDiscovering() 检查蓝牙是否在扫描设备中。
getProfileConnState(int profile) 获取本机蓝牙profile对其他设备的连接状态。
getPairedDevices() 获取本机蓝牙已配对的蓝牙设备列。

打开蓝牙

  1. 调用 BluetoothHost 的 getDefaultHost(Context context) 接口,获取 BluetoothHost 实例,管理本机蓝牙操作。

  1. 调用 enableBt() 接口,打开蓝牙。

  1. 调用 getBtState(),查询蓝牙是否打开。

   // 获取蓝牙本机管理对象
   BluetoothHost bluetoothHost = BluetoothHost.getDefaultHost(context);
   // 调用打开接口
   bluetoothHost.enableBt();
   // 调用获取蓝牙开关状态接口
   int state = bluetoothHost.getBtState(); 

蓝牙扫描

  1. 开始蓝牙扫描前要先注册广播 BluetoothRemoteDevice.EVENT_DEVICE_DISCOVERED。

  1. 调用 startBtDiscovery() 接口开始进行扫描外围设备。

  1. 如果想要获取扫描到的设备,必须在注册广播时继承实 现CommonEventSubscriber 类的 onReceiveEvent(CommonEventData data) 方法,并接收 EVENT_DEVICE_DISCOVERED 广播。

   //开始扫描
   mBluetoothHost.startBtDiscovery();
   //接收系统广播
   public class MyCommonEventSubscriber extends CommonEventSubscriber {
       @Override
       public void onReceiveEvent(CommonEventData var){
           Intent info = var.getIntent();
           if(info == null) return;
           //获取系统广播的action
           String action = info.getAction();
           //判断是否为扫描到设备的广播
           if(action == BluetoothRemoteDevice.EVENT_DEVICE_DISCOVERED){    
               IntentParams myParam = info.getParams();    
               BluetoothRemoteDevice device = (BluetoothRemoteDevice)myParam.getParam(BluetoothRemoteDevice.REMOTE_DEVICE_PARAM_DEVICE);
           }
       }
   }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
鸿蒙OS 传统蓝牙远端设备操作发布时间:2022-02-02
下一篇:
鸿蒙OS 蓝牙概述发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap