codecamp

鸿蒙OS 传统蓝牙本机管理

场景介绍

传统蓝牙本机管理主要是针对蓝牙本机的基本操作,包括打开和关闭蓝牙、设置和获取本机蓝牙名称、扫描和取消扫描周边蓝牙设备、获取本机蓝牙 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);
           }
       }
   }
鸿蒙OS 蓝牙概述
鸿蒙OS 传统蓝牙远端设备操作
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }