|
发不了附加 【e4a 中级教程 35蓝牙】()
火山例子【蓝牙通讯】已经看好几个星期了 实在看不懂
‘------------------------------------
事件 主窗口.创建完毕()
如果 权限操作1.检查权限("android.permission.BLUETOOTH") = 真 且 权限操作1.检查权限("android.permission.BLUETOOTH_ADMIN") = 真 且 权限操作1.检查权限("android.permission.READ_PHONE_STATE") = 真 则
弹出提示("已获得权限,直接初始化蓝牙")
初始化蓝牙()
否则
弹出提示("未获得权限,开始申请权限")
权限操作1.申请全部权限()
结束 如果
结束 事件
事件 权限操作1.申请完毕(权限数组 为 文本型(),申请结果 为 整数型())
如果 权限操作1.检查权限("android.permission.BLUETOOTH") = 真 且 权限操作1.检查权限("android.permission.BLUETOOTH_ADMIN") = 真 且 权限操作1.检查权限("android.permission.READ_PHONE_STATE") = 真 则
初始化蓝牙()
否则
信息框("信息","蓝牙权限没有开启,请在应用的权限设置页面开启蓝牙权限!","确定")
权限操作1.打开权限设置()
结束 如果
结束 事件
过程 初始化蓝牙()
如果 蓝牙1.是否存在() = 假 则
信息框("信息","本机找不到蓝牙设备,程序将退出!","确定")
结束程序()
结束 如果
如果 蓝牙1.是否已开启() = 假 则
蓝牙1.开启蓝牙()
否则
蓝牙1.置工作模式(1)
结束 如果
结束 过程
事件 蓝牙1.蓝牙设置完毕(设置结果 为 整数型)
如果 设置结果 = 1 则
蓝牙1.置工作模式(1)
结束 如果
结束 事件
事件 按钮1.被单击()
位置传感器1.开始监测() '在新版的安卓系统中,必须开启GPS定位才能搜索到蓝牙设备
列表框1.清空项目()
蓝牙1.搜索设备() '搜索设备
弹出提示("正在搜索")
结束 事件
事件 蓝牙1.发现设备(设备名称 为 文本型,设备地址 为 文本型,是否已配对 为 逻辑型)
列表框1.添加项目(设备名称 & "-" & 设备地址 & "-" & 是否已配对)
列表框1.置项目标记(列表框1.取项目数()-1,设备地址)
结束 事件
事件 列表框1.表项被单击(项目索引 为 整数型)
变量 设备地址 为 文本型
设备地址 = 列表框1.取项目标记(项目索引)
蓝牙1.连接设备(设备地址)'连接设备
弹出提示("正在连接:" & 设备地址)
结束 事件
事件 蓝牙1.连接完毕(连接结果 为 逻辑型,设备名称 为 文本型,设备地址 为 文本型,连接模式 为 整数型)
变量 设备信息 为 文本型
变量 文本数组 为 文本型()
如果 连接结果 = 真 则
按钮2.可用 = 真
主窗口.标题 = "已连接:" & 设备名称
弹出提示("连接成功")
否则
弹出提示("连接失败")
结束 如果
结束 事件
事件 蓝牙1.收到数据(数据 为 字节型(),设备名称 为 文本型,设备地址 为 文本型)
编辑框1.内容 = 编辑框1.内容 & "\n" & 设备名称 & ":\n " & 字节到文本(数据,"GBK")
编辑框1.置光标位置(取文本长度(编辑框1.内容))
'=====================以下是接收单片机发送过来的16进制HEX数据的方法=======================
' 变量 计次 为 整数型
' 判断循环首 计次 < 取数组成员数(数据)
' 编辑框1.内容 = 编辑框1.内容 & " " & 到十六进制(数据(计次))
' 计次 = 计次 + 1
' 判断循环尾
结束 事件
事件 按钮2.被单击()
如果 编辑框2.内容 <> "" 则
编辑框1.内容 = 编辑框1.内容 & "\n本机:\n " & 编辑框2.内容
蓝牙1.发送数据(文本到字节(编辑框2.内容,"GBK")) '发送消息
否则
信息框("信息","消息内容不能为空!","确定")
结束 如果
结束 事件
事件 按钮3.被单击()
蓝牙1.断开连接() '退出处理,释放资源,结束内部处理线程
结束程序()
结束 事件
|
|