openplatform

设备 API

JSSDK 更新于 2026-08-28 阅读 19

获取设备网络类型

getNetworkType

蓝信版本: ios: >6.0.2 android: >6.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getNetworkType({
  success: function (res) {
    /**
    {
      networkType: 'string' // 当前的网络类型
    }
    */
  },
  fail: function (err) {},
});

SUCCESS 返回值说明

字段 类型 说明
networkType String 当前的网络类型,unknown、none、wifi、2g、3g、4g

获取设备网络(热点)接入信息

getNetworkInterface

蓝信版本: ios: >6.0.2 android: >6.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getNetworkInterface({
  success: function (res) {
    /**
    {
      ssid: 'string', // 当前网络接入点名称
      macAddress: 'string' // 当前网络接入点mac地址
    }
    */
  },
  fail: function (err) {},
});

SUCCESS 返回值说明

字段 类型 说明
ssid String 当前网络接入点名称
macAddress String 当前网络接入点 mac 地址,安卓不支持
lac String 当前设备所连网络基站的小区号,仅 android 8.0 以上支持
cid String 当前设备所连网络基站的基站号,仅 android 8.0 以上支持

errorCode 说明

code 值 message 值 说明
-8 NOT_EXIST 当前手机连接的既不是 WIFI 也不是热点
-4 NO_PERMISSON 获取 wifi 信息需要定位权限,无权限
-2 NO_SUPPOR 暂不支持 5G 基站信息获取

获取设备地理位置信息

getLocation

蓝信版本: ios: >6.0.2 android: >6.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getLocation({
  coordinateType: "wgs84",
  success: function (res) {},
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
coordinateType String 默认为'wgs84'代表 gps 坐标,可传入'gcj02'代表火星坐标

SUCCESS 返回值说明

字段 类型 说明
latitude Float 纬度,浮点数,范围为-90~90,负数表示南纬
longitude Float 经度,浮点数,范围为-180~180,负数表示西经
speed Float 速度,浮点数,单位 m/s
accuracy Float 位置的精确度
address String 格式化地址,如:北京市朝阳区酒仙桥街道
province String 省份,如:北京市
city String 城市,直辖市会返回空
district String 行政区,如:朝阳区
road String 街道,如:酒仙桥街道

使用内置地图选择地理位置

chooseLocation

蓝信版本: ios: >6.6.45 android: >6.6.45 windows: 不支持 mac: 不支持

示例代码

lx.device.chooseLocation({
  coordinateType: "wgs84",
  poiKeyWords: ["美食", "医疗"],
  success: function (res) {},
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
poiKeyWords Array 附近的兴趣点默认搜索词为: ["美食","宾馆","购物","生活服务","金融","旅游景点","教育","政府机构","公司企业","医疗"]
coordinateType String 默认为'wgs84'代表 gps 坐标,可传入'gcj02'代表火星坐标

SUCCESS 返回值说明

字段 类型 说明
latitude Float 纬度,浮点数,范围为-90~90,负数表示南纬
longitude Float 经度,浮点数,范围为-180~180,负数表示西经
address String 格式化地址,如:北京市朝阳区酒仙桥街道

使用内置地图打开地理位置

displayLocation

蓝信版本: ios: >6.6.45 android: >6.6.45 windows: 不支持 mac: >6.6.202

示例代码

lx.device.displayLocation({
  coordinateType: "wgs84",
  latitude: 23.22,
  longitude: 120.333,
  name: "String",
  address: "String",
});

参数说明

字段 类型 必填 说明
coordinateType String 默认为'wgs84'代表 gps 坐标,可传入'gcj02'代表火星坐标
latitude Float 纬度,浮点数,范围为-90~90,负数表示南纬
longitude Float 经度,浮点数,范围为-180~180,负数表示西经
name String 用于显示地图位置名称信息,不填则显示当前位置在地图上的位置
address String 用于显示地图位置详细地址信息,不填则显示当前位置在地图上的位置详细信息

扫一扫

scanCode 调起客户端扫码界面进行扫码

蓝信版本: ios: >6.6.15 android: >6.6.15 windows: 不支持 mac: 不支持

示例代码

lx.device.scanCode({
  type: ["qrCode", "barCode"],
  success: function (res) {},
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
type Array[String] 可以指定扫二维码还是一维码,默认二者都有, ['qrCode', 'barCode']

SUCCESS 返回值说明

字段 类型 说明
result String 扫码的结果

errorCode 说明

code 值 message 值 说明
-7 CANCEL 用户取消扫码

获取设备系统信息

getSystemInfo

蓝信版本: ios: >=7.11.30 android: >=7.11.30 windows: >= 7.31.30 mac: >=7.31.30

示例代码

lx.device.getSystemInfo({
  success: function (res) {
    /**
    {
      isSystemOverrided: true,
      isAndroidDeveloperMode: true,
      installedAndroidApps: [],
      systemType: 'iOS',
      systemVersion: '14.2.1',
      deviceID: '',
      deviceBrand: 'Apple',
      deviceModel: '',
      deviceWidth: '',
      deviceHeight: ''
    }
    */
  },
  fail: function (err) {},
});

SUCCESS 返回值说明

字段 类型 说明
isSystemOverrided Boolean Android 是否 root 、iOS 是否越狱,windows、mac 不支持
isAndroidDeveloperMode Boolean Android 是否开启开发者模式,windows、mac 不支持
installedAndroidApps Array[String] Android 已安装应用列表,windows、mac 不支持
systemType String 系统类型,Android/iOS/windows/mac
systemVersion String 系统版本
deviceID String 设备唯一标识,windows、mac 不支持
deviceBrand String 设备品牌,windows、mac 没有时返回 PC
deviceModel String 设备型号,windows、mac 没有时返回 PC
deviceWidth String 屏幕宽度
deviceHeight String 屏幕高度
windowWidth String 可使用窗口宽度,windows、mac 不支持
windowHeight String 可使用窗口高度,windows、mac 不支持
safeArea Object 屏幕下方安全区域,windows、mac 不支持
navigationBarSafeArea Object 屏幕上方安全区域,windows、mac 不支持
webviewVersion String webview 版本

开启持续定位

geoLocationStart

用于对定位精度要求较高以及需要持续更新用户位置的场景,通过持续接收 callback 方式,获取用户当前的位置信息。连续定位功能,由四个接口组成,开始连续定位(start)、接收连续定位信息(receive)、停止连续定位(stop)、以及获取当前定位状态(status)。

蓝信版本: ios: >=7.23.15 android: >=7.23.15 windows: 不支持 mac: 不支持

示例代码

lx.device.geoLocationStart({
  coordinateType: "wgs84", // 坐标系类型
  targetAccuracy: 200, // iOS端参数:期望精确度
  scanSpan: 1000, // Android端参数:设置的扫描间隔(单位 ms)
  iOSDistanceFilter: 100, // iOS端参数:变更感知精度
  useCache: true, // Android端参数:是否使用缓存
  withReGeocode: false, // 是否返回逆地理信息
  callBackInterval: 1000, // 最小的回传时间间隔(单位 ms)
  sceneId: "sceneId1", // 定位场景 id
  uploadWebService: true, //退出应用后,是否要继续上传位置信息到webService服务器
  authDescribe: "描述", // 获取持续定位的授权描述
  success: function (res) {},
  fail: function (err) {},
});

参数说明

字段 类型 必填 默认 说明 iOS Android Mac Window
coordinateType String wgs84 默认为'wgs84'代表 gps 坐标,可传入'gcj02'代表火星坐标 >=7.23.15 >=7.23.15 - -
targetAccuracy Number - iOS 端参数:期望定位精度半径(单位 m),定位结果尽量满足该参数要求,不保证小于该误差,开发者需要读取返回结果的 accuracy 字段校验坐标精度; 建议按照业务需求设置定位精度,推荐采用 200m,可获得较好的精度和较短的响应时长 >=7.23.15 - - -
iOSDistanceFilter Number - iOS 端:位置变更敏感度(单位 m),此值会影响端 callback 回调速率 >=7.23.15 - - -
useCache Boolean true Android: 是否使用缓存的地理位置信息; true:如果定位失败,返回缓存的地理位置信息; false:返回实时的地理位置信息,如果定位失败,返回 nil - >=7.23.15 - -
withReGeocode Boolean false 是否需要带有逆地理编码信息,该功能需要网络请求,请根据自己的业务场景使用 >=7.23.15 >=7.23.15 - -
callBackInterval Number - 数据回传最小时间间隔(单位 ms) >=7.23.15 >=7.23.15 - -
scanSpan Number - Android 端参数: 设置扫描间隔(单位 ms) - >=7.23.15 - -
sceneId String - 定位场景 id。对于同一 id,不可连续 start,否则会报错。不同 sceneId 互不影响 >=7.23.15 >=7.23.15 - -
uploadWebService Boolean - 退出应用后,是否要继续上传位置信息到 webService 服务器,需要时传 true >=7.23.15 >=7.23.15 - -
authDescribe String - 获取持续定位的授权描述,即使用持续定位将要做什么,当 uploadWebService=true 时,必传 >=7.23.15 >=7.23.15 - -

SUCCESS 返回值说明

字段 类型 说明
sceneId String 定位场景 id。; 对于同一 id,不可连续 start,否则会报错。不同 scenceId 互不影响

errorCode 说明

code 值 message 值 说明
-11 持续定位应用数量达到上限 应用数量达到上限 3 个
35 用户未授权 用户未授权使用

关闭持续定位

geoLocationStop

与 device.geoLocationStart 配合使用

蓝信版本: ios: >=7.23.15 android: >=7.23.15 windows: 不支持 mac: 不支持

示例代码

lx.device.geoLocationStop({
  sceneId: "123", // 需要停止定位场景id
  useUploadWebService: true, //在开始定位时,是否开启了退出应用后继续上传位置信息到webService的能力,如果开启了传true
  success: function (res) {},
  fail: function (error) {},
});

参数说明

字段 类型 必填 默认 说明 iOS Android Mac Windows
sceneId String - 需要停止的定位场景 id >=7.23.15 >=7.23.15 - -
useUploadWebService Boolean - 开始定位时,是否开启了退出应用后继续上传位置信息到 webService 的能力,如果开启了传 true >=7.23.15 >=7.23.15 - -

SUCCESS 返回值说明

字段 类型 说明
sceneId String 停止的定位场景 id

获取批量连续定位状态

geoLocationStatus

与 device.geoLocationStart 配合使用

蓝信版本: ios: >=7.23.15 android: >=7.23.15 windows: 不支持 mac: 不支持

示例代码

lx.device.geoLocationStatus({
  sceneIds: ["123"],
  success: function (res) {},
  fail: function (error) {},
});

参数说明

字段 类型 必填 默认 说明 iOS Android Mac Window
sceneId Array[String] - 需要查询定位场景 id 列表 id >=7.23.15 >=7.23.15 - -

SUCCESS 返回值说明

字段 类型 说明
key String 停止的定位场景 id
value Number 持续定位的状态,1 表示正在持续定位中, 0 表示未持续定位

接收持续定位的位置信息

onGeoLocationReceive

device.geoLocationStart 开启持续定位后,在 device.geoLocationReceive 中接收定位结果

蓝信版本: ios: >=7.23.15 android: >=7.23.15 windows: 不支持 mac: 不支持

示例代码

lx.device.onGeoLocationReceive((result) => {});

result 说明

字段 类型 说明 iOS Android Mac Windows
longitude Number 经度 >=7.23.15 >=7.23.15 - -
latitude Number 纬度 >=7.23.15 >=7.23.15 - -
accuracy Number 实际的定位精度半径 (单位 m) >=7.23.15 >=7.23.15 - -
address String 格式化地址 >=7.23.15 >=7.23.15 - -
province String 省份 >=7.23.15 >=7.23.15 - -
city String 城市 >=7.23.15 >=7.23.15- -
district String 行政区 >=7.23.15 >=7.23.15 - -
speed Number 速度 >=7.23.15 >=7.23.15 - -
road String >=7.23.15 >=7.23.15 - -
street String 街道 >=7.23.15 >=7.23.15 - -
sceneId String 定位场景 id >=7.23.15 >=7.23.15 - -

开启 / 关闭 wifi 开关

changeWifiStatus

跳转设备开启/关闭 wifi 页面

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.changeWifiStatus({
  success: function () {},
  fail: function (error) {},
});

获取当前 wifi 状态

getWifiStatus

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getWifiStatus({
  success: function (res) {
    console.log(res);
  },
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
status Number wifi 状态; 1 - 开启未连接; 2 - 关闭; 3 - 开启且连接

监听 wifi 状态发生变化

onWifiStatusChange

监听 wifi 状态发生改变,开关开启、开关关闭、已连接、连接断开

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.onWifiStatusChange((result) => {
  console.log(result);
});

result 说明

字段 类型 说明
status Number ios 只支持 1 和 2; 1 - 开启; 2 - 关闭; 3 - 已连接; 4 - 已断开连接

获取 wifi 信息

getWifiInfo

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getWifiInfo({
  success: function (res) {
    console.log(res);
  },
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
SSID String wifi 的 ssid
BSSID String wifi 的 BSSID,ios 不支持
secure Boolean wifi 是否安全
signalStrength Boolean wifi 强度

errorCode 说明

code 值 message 值 说明
100 NOT_CONNECT 未连接 wifi

获取 wifi 列表

getWifiList

蓝信版本: ios: 不支持 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getWifiList({
  success: function (res) {
    console.log(res);
  },
  fail: function (error) {},
});

返回示例

{
  list: [
    {
      SSID: "",
      BSSID: "",
      secure: true,
      signalStrength: 1, // wifi强度
    },
  ],
},

SUCCESS 返回值说明

字段 类型 说明
list Array wifi 列表

list 结构说明

字段 类型 说明
SSID String wifi 的 ssid
BSSID String wifi 的 BSSID,ios 不支持
secure Boolean wifi 是否安全
signalStrength Boolean wifi 强度

连接指定 wifi

connectWifi

连接指定非企业 wifi,不支持填用户名,证书,验证方式等。Android 目前仅支持无密码/WEP/WPA 加密模式的 wifi

蓝信版本: ios: >=7.30.30 android: >=7.30.30 windows: 不支持 mac: 不支持

示例代码

lx.device.connectWifi({
  SSID: "lanxin_family",
  BSSID: "",
  password: "12345678",
  success: function () {},
  fail: function (error) {},
});

参数说明

字段 类型 必填 说明
SSID String wifi 的 ssid
BSSID String wifi 的 bssid
password String wifi 密码,连接过的无需密码

errorCode 说明

code 值 message 值 说明
100 PASSWORD_ERROR 密码错误

设置屏幕亮度

setScreenBrightness

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.setScreenBrightness({
  brightness: 0.5, // 屏幕亮度
  success: function () {},
  fail: function (res) {},
});

参数说明

字段 类型 必填 说明
brightness Number 屏幕亮度,0-1,0 最暗,1 最亮

设置屏幕常亮

setKeepScreenOn

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.setKeepScreenOn({
  success: function () {},
  fail: function (error) {},
});

拨打本地电话

makePhoneCall

蓝信版本: ios: >=8.0.0 android: >=8.0.0 windows: 不支持 mac: 不支持

示例代码

lx.device.makePhoneCall({
  phoneNumber: "13888888888", // 拨打的电话号码
  success: function () {},
  fail: function (error) {},
});

参数说明

字段 类型 必填 说明
phoneNumber String 需要拨打的电话号码

NFC 数据写入

writeNfc

NFC 数据写入,ios 只支持 DNEF 数据格式

蓝信版本: ios: >=8.1.0 android: >=8.1.0 windows: 不支持 mac: 不支持

示例代码

lx.device.writeNfc({
  content: "lanxin", // NFC芯片内容
  success: function () {},
  fail: function (error) {},
});

参数说明

字段 类型 必填 说明
content String NFC 芯片内容

NFC 数据读取

readNfc

NFC 数据读取,ios 只支持 DNEF 数据格式

蓝信版本: ios: >=8.1.0 android: >=8.1.0 windows: 不支持 mac: 不支持

示例代码

lx.device.readNfc({
  success: function () {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
content String NFC 芯片内容

监听截屏

onCaptureScreen

蓝信版本: ios: >=8.2.0 android: >=8.2.0 windows: 不支持 mac: 不支持

示例代码

lx.device.onCaptureScreen(() => {
  // 监听到截屏后相关操作
});

开启蓝牙适配器

openBluetoothAdapter 所有蓝牙功能必须在 openBluetoothAdapter 和 closeBluetoothAdapter 之间调用放可生效

蓝信版本: ios: >=8.2.0 android: >=8.2.0 windows: 不支持 mac: 不支持

示例代码

lx.device.openBluetoothAdapter({
  success: function () {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

关闭蓝牙适配器

closeBluetoothAdapter 蓝牙功能使用完毕建议关闭蓝牙适配器

蓝信版本: ios: >=8.2.0 android: >=8.2.0 windows: 不支持 mac: 不支持

示例代码

lx.device.closeBluetoothAdapter({
  success: function () {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

获取蓝牙状态

getBluetoothAdapterState

蓝信版本: ios: >=8.2.0 android: >=8.3.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getBluetoothAdapterState({
  success: function () {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
discovering Boolean 是否正在搜索设备
available Boolean 蓝牙适配器是否可用

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

监听蓝牙适配器状态

onBluetoothAdapterStateChange

蓝信版本: ios: >=8.2.0 android: >=8.3.0 windows: 不支持 mac: 不支持

示例代码

lx.device.onBluetoothAdapterStateChange((result) => {});

result 说明

字段 类型 说明
discovering Boolean 是否正在搜索设备
available Boolean 蓝牙适配器是否可用

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

开始搜索蓝牙设备

startBluetoothDevicesDiscovery

蓝信版本: ios: >=8.2.0 android: >=8.3.0 windows: 不支持 mac: 不支持

示例代码

lx.device.startBluetoothDevicesDiscovery({
  success: function () {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

停止搜索蓝牙设备

stopBluetoothDevicesDiscovery

蓝信版本: ios: >=8.2.0 android: >=8.3.0 windows: 不支持 mac: 不支持

示例代码

lx.device.stopBluetoothDevicesDiscovery({
  success: function () {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

获取所有已发现设备

getBluetoothDevices

蓝信版本: ios: >=8.2.0 android: >=8.3.0 windows: 不支持 mac: 不支持

示例代码

lx.device.getBluetoothDevices({
  success: function () {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
devices Array 设备列表

device 数据结构

字段 类型 说明
name String 蓝牙设备名称
deviceId String 设备 id
RSSI Number 当前蓝牙设备信号强度
advertisData ArrayBuffer 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段
advertisServiceUUIDs Array 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段
localName String 当前蓝牙设备的广播数据段中的 LocalName 数据段
serviceData ArrayBuffer 当前蓝牙设备的广播数据段中的 ServiceData 数据段

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

监听发现蓝牙新设备

onBluetoothDeviceFound

蓝信版本: ios: >=8.2.0 android: >=8.3.0 windows: 不支持 mac: 不支持

示例代码

lx.device.onBluetoothDeviceFound((result) => {});

result 说明

字段 类型 说明
devices Array 设备列表

device 数据结构

字段 类型 说明
name String 蓝牙设备名称
deviceId String 设备 id
RSSI Number 当前蓝牙设备信号强度
advertisData ArrayBuffer 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段
advertisServiceUUIDs Array 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段
localName String 当前蓝牙设备的广播数据段中的 LocalName 数据段
serviceData ArrayBuffer 当前蓝牙设备的广播数据段中的 ServiceData 数据段

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

获取已连接蓝牙设备

getConnectedBluetoothDevices

根据 uuid 获取已连接状态的设备

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
services Array 蓝牙设备主 service 的 uuid 列表

示例代码

lx.device.getConnectedBluetoothDevices({
  services: [],
  success: function (res) {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
devices Array 设备列表

device 结构说明

字段 类型 说明
name String 蓝牙设备名称
deviceId String 设备 id

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

连接低功耗蓝牙

createBLEConnection

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
deviceId String 蓝牙设备 id,参考 getDevices 接口

示例代码

lx.device.createBLEConnection({
  deviceId: "",
  success: function () {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

断开低功耗蓝牙连接

closeBLEConnection

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
deviceId String 蓝牙设备 id,参考 getDevices 接口

示例代码

lx.device.closeBLEConnection({
  deviceId: "",
  success: function (res) {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

监听低功耗蓝牙状态变化

onBLEConnectStateChange

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

示例代码

lx.device.onBLEConnectStateChange((result) => {
  console.log(result);
});

result 说明

字段 类型 说明
deviceId String 蓝牙设备 id
connected String 连接目前的状态

获取蓝牙设备所有 service

getBLEDeviceService

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
deviceId String 蓝牙设备 id,参考 getDevices 接口

示例代码

lx.device.getBLEDeviceService({
  deviceId: "",
  success: function (res) {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
services Array 设备服务列表

service 结构说明

字段 类型 说明
uuid String 蓝牙设备服务的 uuid
isPrimary Boolean 该服务是否为主服务

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

获取特征值

getBLEDeviceCharacteristics

获取蓝牙设备某个服务中的所有 characteristic(特征值)

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
deviceId String 蓝牙设备 id,参考 getDevices 接口
serviceId String 蓝牙服务 uuid

示例代码

lx.device.getBLEDeviceCharacteristics({
  deviceId: "",
  serviceId: "",
  success: function (res) {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
characteristics Array 设备特征值列表

characteristics 结构说明

字段 类型 说明
characteristicId String wifi 的 ssid 蓝牙设备特征值的 uuid
serviceId String 蓝牙设备特征值对应服务的 uuid
value String 蓝牙设备特征值对应的十六进制值(hexString)
properties Object 该特征值支持的操作类型

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

读取特征值

readBLECharacteristicValue

读取低功耗蓝牙设备的特征值的二进制数据值

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
deviceId String 蓝牙设备 id,参考 getDevices 接口
serviceId String 蓝牙服务 uuid
characteristicId String 蓝牙特征值的 uuid

示例代码

lx.device.readBLECharacteristicValue({
  deviceId: "",
  serviceId: "",
  characteristicId: "",
  success: function (res) {},
  fail: function (error) {},
});

SUCCESS 返回值说明

字段 类型 说明
value String 蓝牙设备的十六进制特征值(hexString)

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

写入特征值

writeBLECharacteristicValue

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
deviceId String 蓝牙设备 id,参考 getDevices 接口
serviceId String 蓝牙服务 uuid
characteristicId String 蓝牙特征值的 uuid
value String 蓝牙设备的十六进制特征值(hexString)

示例代码

lx.device.writeBLECharacteristicValue({
  deviceId: "",
  serviceId: "",
  characteristicId: "",
  value: "",
  success: function (res) {},
  fail: function (error) {},
});

errorCode 说明

code 值 message 值 说明
250 NOT_INIT 未初始化蓝牙适配器
251 NOT_AVAILABLE 当前蓝牙适配器不可用
252 NO_DEVICE 没有找到指定设备
253 CONNECTION_FAIL 连接失败
254 NO_SERVICE 没有找到指定服务
255 NO_CHARACTERISTIC 没有找到指定特征值
256 NO_CONNECTION 当前连接已断开
257 PROPERTY_NOT_SUPPORT 当前特征值不支持此操作
258 SYSTEM_ERROR 其余所有系统上报的异常
259 SYSTEM_NOT_SUPPORT Android 系统特有,系统版本低于 4.3 不支持 BLE

震动

setVibrate

蓝信版本: ios: >=8.4.0 android: >=8.4.0 windows: 不支持 mac: 不支持

参数说明

字段 类型 必填 说明
duration String 震动长短; short - 短震动;long - 长震动

示例代码

lx.device.setVibrate({
  duration: "long",
  success: function (res) {},
  fail: function (error) {},
});