手机程序源码如下:
事件 主窗口.创建完毕()
如果 权限操作1.取系统版本号()>=23 则
权限操作1.申请全部权限() '必须先申请权限
结束 如果
变量 结果 为 逻辑型
结果 = BLE蓝牙1.初始化()
标签1.标题=("初始化结果:" & 结果)
BLE蓝牙1.置可被发现()
结束 事件
事件 按钮1.被单击()
如果 按钮1.标题 = "开始搜索" 则
位置传感器1.开始监测() '在某些安卓系统中,必须先进行GPS定位才能搜索到蓝牙设备
BLE蓝牙1.开始搜索()
时钟1.时钟周期 = 10 * 1000
按钮1.标题 = "停止搜索"
否则
BLE蓝牙1.停止搜索()
时钟1.时钟周期 = 0
按钮1.标题 = "开始搜索"
结束 如果
结束 事件
事件 时钟1.周期事件()
BLE蓝牙1.停止搜索()
按钮1.标题 = "开始搜索"
时钟1.时钟周期 = 0
结束 事件
事件 BLE蓝牙1.发现设备(名称 为 文本型,地址 为 文本型,MajorID 为 整数型,MinorID 为 整数型,配对状态 为 整数型)
标签1.标题=("发现设备")
列表框1.添加项目("名称:" & 名称 & "\n地址:" & 地址)
列表框1.置项目标记(列表框1.取项目数()-1,地址)
结束 事件
事件 BLE蓝牙1.信号强度改变(名称 为 文本型,地址 为 文本型,信号强度 为 整数型)
变量 计次 为 整数型
变量 文本数组 为 文本型()
变量循环首 计次 = 0 至 列表框1.取项目数()-1
文本数组 = 分割文本(列表框1.取项目内容(计次),"\n")
如果 文本数组(1) = "地址:" & 地址 则
列表框1.置项目内容(计次,"名称:" & 名称 & "\n地址:" & 地址 & "\n信号:" & 信号强度)
退出
结束 如果
变量循环尾
结束 事件
事件 列表框1.表项被单击(项目索引 为 整数型)
BLE蓝牙1.连接设备(列表框1.取项目标记(项目索引))
标签1.标题=("正在连接")
主窗口.标题 = "正在连接"
分组列表框1.清空所有数据()
结束 事件
事件 BLE蓝牙1.连接状态改变(状态 为 整数型)
如果 状态 = 1 则
标签1.标题=("已连接")
主窗口.标题 = "已连接"
否则
标签1.标题=("已断开")
主窗口.标题 = "已断开"
结束 如果
结束 事件
事件 BLE蓝牙1.通道数据改变(服务UUID 为 文本型,通道UUID 为 文本型,数据 为 字节型())
标签1.标题=("接收到数据" & "\n数据:" & 字节集到十六进制(数据))
结束 事件
事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型)
如果 键代码 = 返回键 则
BLE蓝牙1.释放资源()
结束程序()
结束 如果
结束 事件
事件 按钮2.被单击()
BLE蓝牙1.写入数据("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六进制到字节集("41"))
结束 事件
事件 按钮3.被单击()
BLE蓝牙1.写入数据("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六进制到字节集("42"))
结束 事件
事件 按钮5.被单击()
BLE蓝牙1.写入数据("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六进制到字节集("43"))
结束 事件
事件 按钮4.被单击()
BLE蓝牙1.写入数据("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六进制到字节集("44"))
结束 事件 |