zoukankan      html  css  js  c++  java
  • androidBLE dfu升级使用及可能出现的问题

    android-dfu-library是nordic提供的对nRF5x芯片固件进行空中升级的库,地址是https://github.com/NordicSemiconductor/Android-DFU-Library

    如果你的项目已经兼容了andoridx请使用1.9.0 否则请使用1.8.1

    具体使用方法可以参考文档:https://github.com/NordicSemiconductor/Android-DFU-Library/blob/release/documentation

    使用过程中不需要通过BLE连接设备 只需要在starter传入要升级的mac地址 设备会自动进入boot模式并自动烧入升级包

    可能出现的问题:

    1、在android8.0以上的设备(测试机为9.0)的手机上,会在开始升级时闪退,并报错:

    android.app.RemoteServiceException: Bad notification for startForeground: java.lang.RuntimeException
    

     这样的报错,当然了解过android8.0以上特性的就知道是启动前台通知的问题,因为这个库在升级的时候会在通知栏显示进度,而实际上,dfu库已经在代码里做出了兼容,你只需要在初始化升级前做如下判断:

          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                DfuServiceInitiator.createDfuNotificationChannel(this);
            }

    就可以了,这是在dfu库升级某个版本的时候新加入的,如果你一直使用这个库,没看更新文档那么多半是要出这个问题的。

    2.android9 setForeground = True 导致程序崩溃 

    你需要在manifest.xml里加入FOREGROUND_SERVICE的权限

    3.不支持kotlin,等待后续更新

  • 相关阅读:
    Lombok介绍、使用方法和总结
    Vargant centOS7安装
    Nginx
    Docker
    GOPATH
    Golang http
    /^正则表达式$/
    go: missing Git command. See https://golang.org/s/gogetcmd
    Golang 反射
    Golang 常量
  • 原文地址:https://www.cnblogs.com/yjpjy/p/11288008.html
Copyright © 2011-2022 走看看