更新记录

1.0.6(2024-11-19) 下载此版本

修复上次问题

1.0.5(2024-11-19) 下载此版本

修复uniapp 问题

1.0.4(2024-10-08) 下载此版本

修复偶现链接失败的bug

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.98,Android:4.4,iOS:不支持,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

android-serialport

uni-app x项目(uvue)中调用示例:(调试需要自定义基座)

    import {BleLib,MyApiResult,BleScanResult,BleServices} from "@/uni_modules/android-ble"      

    var ble:BleLib=new BleLib();
    //ble.startScanBleDevice(15000,function(res:MyApiResult){
    //      if(res.type==0){
    //          
    //      }else{
    //          
    //      }
    //});

    //ble.connect("00:00:00:00:00",true,function(res:MyApiResult){

    //});

开发文档

系统对象


export type ScanRecord ={
               deviceName: string|null,
                txPowerLevel:number|null,
                bytes: string|null,
                serviceData: string|null,
                serviceUuids: string|null,
                advertiseFlags:number|null,
                manufacturerSpecificData: string|null,
                serviceSolicitationUuids:string|null
    }
export type Device={
        name: string|null,
        alias:string|null,
        bondState: number|null,
        type: number|null,
        address:string
}

export type BleScanResult={
    rssi: number|null,
    isLegacy: boolean|null,
    advertisingSid: number|null,
    dataStatus: number|null,
    isConnectable: boolean|null,
    periodicAdvertisingInterval: number|null,
    primaryPhy: number|null,
    secondaryPhy: number|null,
    timestampNanos:number|null,
    scanRecord:ScanRecord   ,
    device:Device

}
export type MyApiResult = {
  type : number,  // 0 成功 其它为失败
  message : string,
  data : any
}

export type BleServices={
     type:number,
     uuid: String,
     characteristics:Characteristics[]
}

export type Characteristics={
    properties:CharacteristicsProperties, 
     uuid: String,
     propertiesType: number
}

export type CharacteristicsProperties={
     READ: boolean,
     WRITE:boolean,
     NOTIFY:boolean,
     INDICATE:boolean

}

打开蓝牙系统设置

openBluetoothSettings

系统蓝牙开关(android 33 有效)

openBluetooth

参数1 true 打开 false 关闭

isEnabled

return 返回蓝牙是否开启

扫描蓝牙

startScanBleDevice

参数1 扫描超时时间 毫秒

参数2 回调函数 扫描结果 回调对象为 MyApiResult data 为BleScanResult type 0 成功 1000 无定位权限

停止扫描蓝牙

stopScanBle

蓝牙连接

connect

参数1 蓝牙地址

参数2 是否自动连接

参数3 蓝牙连接回调函数 回调蓝牙连接成功失败,并且回调蓝牙异常断开等 参数为MyApiResult type 0 连接成功 1 连接失败或异常断开 (例如设备蓝牙关闭了) 10000 无定位权限

蓝牙成功后扫描周边服务和特征值

scanServices

参数1 回调周边服务和特征值 MyApiResult data 为BleServices[]

安卓设置mtu

setMtu

参数1 mtu 值 int 参数2 回调函数mtu 是否设置成功 0成功 1 失败

获取默认通知和写周边服务和特征值(需要先调用scanServices )

getSericUUID

return string 服务UUID

getNotityUUID

return string 通知UUID

getwriteUUID

return string 写数据 UUID

写数据

writeDataToBle

参数1 周边服务uuid string

参数2 写数据特征uuid string

参数3 数据 number[] 数组

参数4 回调函数 MyApiResult 回调写入成功或失败 0 成功 1 失败

订阅通知

onNotityReadBleData

参数1 周边服务uuid string

参数2 写数据特征uuid string

参数3 是否开启/关闭 boolean

参数4 回调通知数据 MyApiResult data 为收到的数据

断开连接

close

打赏

感谢您使用此插件,如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。

微信

支付宝

许可协议

MIT协议

Hello UTS

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问