App升级更新流程及需要注意的问题。

1.权限问题

  • 网络权限
  • 存储权限
  • 6.0动态权限
  • 有了权限才去升级

2.判断端版本号

  • 请求服务器版本信息进行对比
  • 这里可以优化版本信息统一在gradle这个管理
  • 获取下载网址

3.通过URL下载APK文件但本地文件

  • 创建下载的状态成功,失败
  • 开启线程和异步消息处理AsycTask,HandlerThread ...
  • 网络请求获得APK的字节大小,如果等于0fail

4.判断文件大小是否可以存储并创建文件

  • 判断外置存储是否可用,可用判断剩余储存是否可用,可用创建文件。
  • 外置不可以判断手机内存是否可用,可以判断剩余内存大小是否可用,可用创建文件。
  • 外置存储是插入的sd卡或内置的sd卡,Enviroment.getExternalStoragePublicDirectory()
    文件保存在sd卡中不跟随应用卸载。
  • 内置存储是data/data/包名 目录getFilesDira,文件跟随应用卸载而卸载,但是内置存储只有本应用才能访。
  • 所以如果设备没有外置sd卡时,将升级apk文件放到内置data/data中时,需要额外给文件添加访问权
    https://www.2cto.com/kf/201308/234439.htl
    https://blog.csdn.net/dalancon/article/details/38111679

你可能感兴趣的:(Android的笔记)