设备 API
获取设备网络类型
getNetworkType
蓝信版本:
ios: >6.0.2android: >6.0.0windows: 不支持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.2android: >6.0.0windows: 不支持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.2android: >6.0.0windows: 不支持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.45android: >6.6.45windows: 不支持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.45android: >6.6.45windows: 不支持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.15android: >6.6.15windows: 不支持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.30android: >=7.11.30windows: >= 7.31.30mac: >=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.15android: >=7.23.15windows: 不支持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.15android: >=7.23.15windows: 不支持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.15android: >=7.23.15windows: 不支持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.15android: >=7.23.15windows: 不支持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.0android: >=8.0.0windows: 不支持mac: 不支持
示例代码
lx.device.changeWifiStatus({
success: function () {},
fail: function (error) {},
});
获取当前 wifi 状态
getWifiStatus
蓝信版本:
ios: >=8.0.0android: >=8.0.0windows: 不支持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.0android: >=8.0.0windows: 不支持mac: 不支持
示例代码
lx.device.onWifiStatusChange((result) => {
console.log(result);
});
result 说明
| 字段 | 类型 | 说明 |
|---|---|---|
| status | Number | ios 只支持 1 和 2; 1 - 开启; 2 - 关闭; 3 - 已连接; 4 - 已断开连接 |
获取 wifi 信息
getWifiInfo
蓝信版本:
ios: >=8.0.0android: >=8.0.0windows: 不支持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.0windows: 不支持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.30android: >=7.30.30windows: 不支持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.0android: >=8.0.0windows: 不支持mac: 不支持
示例代码
lx.device.setScreenBrightness({
brightness: 0.5, // 屏幕亮度
success: function () {},
fail: function (res) {},
});
参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| brightness | Number | 是 | 屏幕亮度,0-1,0 最暗,1 最亮 |
设置屏幕常亮
setKeepScreenOn
蓝信版本:
ios: >=8.0.0android: >=8.0.0windows: 不支持mac: 不支持
示例代码
lx.device.setKeepScreenOn({
success: function () {},
fail: function (error) {},
});
拨打本地电话
makePhoneCall
蓝信版本:
ios: >=8.0.0android: >=8.0.0windows: 不支持mac: 不支持
示例代码
lx.device.makePhoneCall({
phoneNumber: "13888888888", // 拨打的电话号码
success: function () {},
fail: function (error) {},
});
参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phoneNumber | String | 是 | 需要拨打的电话号码 |
NFC 数据写入
writeNfc
NFC 数据写入,ios 只支持 DNEF 数据格式
蓝信版本:
ios: >=8.1.0android: >=8.1.0windows: 不支持mac: 不支持
示例代码
lx.device.writeNfc({
content: "lanxin", // NFC芯片内容
success: function () {},
fail: function (error) {},
});
参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | String | 是 | NFC 芯片内容 |
NFC 数据读取
readNfc
NFC 数据读取,ios 只支持 DNEF 数据格式
蓝信版本:
ios: >=8.1.0android: >=8.1.0windows: 不支持mac: 不支持
示例代码
lx.device.readNfc({
success: function () {},
fail: function (error) {},
});
SUCCESS 返回值说明
| 字段 | 类型 | 说明 |
|---|---|---|
| content | String | NFC 芯片内容 |
监听截屏
onCaptureScreen
蓝信版本:
ios: >=8.2.0android: >=8.2.0windows: 不支持mac: 不支持
示例代码
lx.device.onCaptureScreen(() => {
// 监听到截屏后相关操作
});
开启蓝牙适配器
openBluetoothAdapter 所有蓝牙功能必须在 openBluetoothAdapter 和 closeBluetoothAdapter 之间调用放可生效
蓝信版本:
ios: >=8.2.0android: >=8.2.0windows: 不支持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.0android: >=8.2.0windows: 不支持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.0android: >=8.3.0windows: 不支持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.0android: >=8.3.0windows: 不支持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.0android: >=8.3.0windows: 不支持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.0android: >=8.3.0windows: 不支持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.0android: >=8.3.0windows: 不支持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.0android: >=8.3.0windows: 不支持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.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持mac: 不支持
示例代码
lx.device.onBLEConnectStateChange((result) => {
console.log(result);
});
result 说明
| 字段 | 类型 | 说明 |
|---|---|---|
| deviceId | String | 蓝牙设备 id |
| connected | String | 连接目前的状态 |
获取蓝牙设备所有 service
getBLEDeviceService
蓝信版本:
ios: >=8.4.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持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.0android: >=8.4.0windows: 不支持mac: 不支持
参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| duration | String | 是 | 震动长短; short - 短震动;long - 长震动 |
示例代码
lx.device.setVibrate({
duration: "long",
success: function (res) {},
fail: function (error) {},
});