清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.72

Aia Store .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

开通会员送SVIPApp Inventor 2 拓展有奖征文 VIP会员享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档中文教程IoT专题

查看: 5488|回复: 0
打印 上一主题 下一主题

[经验分享] BLE(三)APP开发步骤

  • TA的每日心情
    开心
    昨天 07:45
  • 签到天数: 280 天

    [LV.8]以坛为家I

    523

    主题

    909

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    22289

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 2024-02-05 11:24:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    文章源自:https://www.gandalf.site/2018/11/bleapp.html

    Android系统自4.3版本开始,引入了对BLE的支持,详见Bluetooth Low Energy。通过浏览当中的信息,我们可以得知在app开发环节,需要做到如下几件事情:

    1. BLE相关权限声明



    2. 操作蓝牙之前,判断系统是否支持BLE



    3. 获取本机的蓝牙适配器,BluetoothAdapter的获取依赖于bluetoothManager.getAdapter()实现

    4. 发intent通知系统打开蓝牙

    5. 使用startLeScan()函数获取外围设备,并实现BluetoothAdapter.LeScanCallback方法接受扫描结果

    6. 调用connectGatt方法对设备进行连接,里面的BluetoothGattCallback对象用于交付操作结果给客户端。如果连接成功将返回BluetoothGatt实例,该实例是进行蓝牙控制的基础

    7. 成功建立连接后,便可对attributes(属性,参考前面的BLE协议栈)进行读写。利用getService、getCharacteristics获取外围设备的service和characteristic,对于其中支持写的characteristic在写入相应的数据,可实现外围设备的控制

    了解BLE app的开发步骤后,进行逆向时思路也就清晰了许多。首先,可以通过startLeScan、LeScanCallback等方法定位到扫描BLE外围设备的相关代码段;然后,根据connectGatt、BluetoothGattCallback等api锁定设备连接的相关函数,并找到指令交互部分,最后梳理出整个控制流程。

    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.72 支持Android 14 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2024 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2024-11-22 07:16 , Processed in 0.024004 second(s), 34 queries .