递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4149|回复: 4
打印 上一主题 下一主题

[其它] 【蓝牙通讯】有没有大神帮忙 E4A转火山安卓 源码啊

[复制链接]

13

主题

65

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
跳转到指定楼层
楼主
发表于 2023-2-3 15:53:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
发不了附加 【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.断开连接() '退出处理,释放资源,结束内部处理线程
        结束程序()
结束 事件

回复

使用道具 举报

13

主题

65

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
5#
 楼主| 发表于 2023-2-5 09:14:10 | 只看该作者
创世魂 发表于 2023-2-3 21:29
无名模块下载地址:http://bbs.voldp.com/forum.php?mod=viewthread&tid=3403&extra=page%3D1

测试了一下 3个手机 两个手机取本机地址 变成了【02:00:00:00:00:00】(开始是好的 重启手机无效 不知道怎么弄)
【方式一】 A手机开启服务 BC链接
A手机开启服务 BC 两个手机链接 在第二个手机C链接时 发送数据成功但服务手机A接收不了 要等第一个手机B发了一次数据才能服务手机A才能收到 (收到的数据包含第二个手机C之前发送成功但未收到的所有数据)
【方式二】A链接 bc手机开启服务(E4A此方式虽只能和最后一个链接的互通 但可以收到所有链接过的手机发了的数据)
也和上面问题一样 A手机链接 BC后再返回链接B时 就不能链接了
释放资源也不行 必须完全关闭程序
回复

使用道具 举报

13

主题

65

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
地板
 楼主| 发表于 2023-2-4 06:17:44 | 只看该作者
本帖最后由 心草草 于 2023-2-4 06:19 编辑
创世魂 发表于 2023-2-3 18:54
火山封的比较原始,封装的比较浅。没有像e4a这样深度封装。所以例子看起来比较乱。

好的谢谢 ,研究研究。
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40517
板凳
发表于 2023-2-3 21:29:48 | 只看该作者
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40517
沙发
发表于 2023-2-3 18:54:35 | 只看该作者
本帖最后由 创世魂 于 2023-2-3 21:29 编辑

火山封的比较原始,封装的比较浅。没有像e4a这样深度封装。所以例子看起来比较乱。


在无名模块里面有个 蓝牙操作类  操作简单,经过二次封装的,可以下载模块看看。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 10:06 , Processed in 0.077830 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表