使用ReactNative开发,APP免不了需要更新的功能,iOS直接使用Linking跳转App Store即可,而Android则略显麻烦,需要通过封装Native Modules去调用Android原生DownloadManager来实现下载,
Demo下载地址:https://github.com/zengDeveloper/ReactNative_AndroidDownload

1、创建功能类DownloadApk继承自ReactContextBaseJavaModule,将方法暴露给js调用

2、创建类DownloadApkPackage 继承自ReactPackage接口,用于注册Native Modules,使得js上能够引入调用。

3、创建类DownLoadBroadcastReceiver继承BroadcastReceiver,用于接收处理下载的文件。

4、在AndroidManifest.xml中注册广播监听配置

<receiver   android:name="com.andriodTest.DownLoadBroadcastReceiver">
<intent-filter><action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
</intent-filter>
</receiver>

5、在MainApplication.java文件的getPackges()中注册DownloadApkPackage

new DownloadApkPackage();

以上便实现了更新下载安装包,并在下载完成后调起安装器的功能


5、调用

import {NativeModules} from 'react-native';NativeModules.DownloadApk.downloading("http://bos.pgzs.com/sjapp91/msoft/20180507456/23/official_website6.1.0.370.apk","91zhushou.apk");

如果遇到状态栏闪一下而没有下载任务的时候,可以去手机的下载中心去检查是不是下载失败了,下载失败的话,那就替换链接吧

React Native安卓实现更新下载、安装相关推荐

  1. react native 安卓实现自动下载更新版本

    参考: https://github.com/zengDeveloper/ReactNative_AndroidDownload 从git上下载原生包,然后进行引用 1.创建功能类DownloadAp ...

  2. 安卓背景音乐开关_微信7.0.4内测版怎么申请?微信7.0.4安卓内测版下载安装教程...

    近日,微信针对安卓设备用户推出了最新的微信7.0.4内测版,带来了界面调整和功能更新,受到不少小伙伴们的关注.那么,微信7.0.4内测版怎么申请?下面"电脑百事网"小编为大家详细介 ...

  3. react native app应用更新方案

    最近公司有需求做一个react native app应用更新方案,试了很多插件都不靠谱 最后还是选择了 搭配 rn-fetch-blob 进行封装 引入 rn-fetch-blob import RN ...

  4. android 网络时区 错误,React native 安卓机器上调试代码报错:网络请求出错TypeError: Network request failed...

    React native 安卓机器上调试代码报错:网络请求出错TypeError: Network request failed 安卓机器 usb连接调试 报错信息 TypeError: Networ ...

  5. react native 安卓(特别是小米手机)全面屏是否开虚拟按键的适配

    react native 安卓(特别是小米手机)全面屏是否开虚拟按键的适配 做rn蛮久了,遇到的坑无数,谢谢大家带我爬过的坑,这次我也来分享一下,希望帮助到有需要的人! 大家先看先后效果对比: 没开虚 ...

  6. React Native 安卓环境搭建

    基础环境 必须安装的依赖有:Node.js.Yarn 和 React Native 脚手架.这是运行 RN 的基础 Node.js Node.js 的版本应大于等于 12,推荐安装 LTS 版本(去N ...

  7. React Native 实现热更新方案CodePush过程中遇到的问题 ( 搭建自己的CodePush服务器 )

    前言 CodePush官方: https://github.com/Microsoft/react-native-code-push 自搭建CodePushServer: https://github ...

  8. python版本升级和系统更新下载安装_Python环境安装与升级

    Python是跨平台的,它可以运行在Windows,Mac,Linux/Unix系统上,在Windows上写的Python程序,在Linux上也是能够运行的.目前,Python有两个大版本,一个是2. ...

  9. Android程序版本更新--通知栏更新下载安装(转)

    Android应用检查版本更新后,在通知栏下载,更新下载进度,下载完成自动安装,效果图如下: 检查当前版本号 AndroidManifest文件中的versionCode用来标识版本,在服务器放一个新 ...

最新文章

  1. HTTP和HTTPS协议的区别
  2. linux 命令博客,Linux 命令
  3. JavaScript计算汉明距离(HammingDistance)
  4. 第四章-数据共享与保护
  5. 【Python】快速认识Pandas的10大索引
  6. jersey spring_实施Jersey 2 Spring集成
  7. STM32中C语言知识点:初学者必看,老鸟复习(长文总结)
  8. android 自定义圆形pop,Android布局自定义Shap圆形ImageView可以单独设置背景与图片...
  9. 【Linux】处理数据文件
  10. shx文件怎么导入cad_「设计师必备技能」打开cad图纸缺少shx字体,图纸乱码怎么办?...
  11. 12x12怎么速算_12x12怎么速算_12x12怎样巧算
  12. 读取阿里云服务器图片到本地
  13. 嵌入式思维 、不深不浅的理解
  14. Credit card dataset: SVM Classification --- PCA效果/不平衡数据
  15. 实现京东首页的轮播广告效果,包含三个以上产品广告
  16. 网站链接被微信屏蔽拦截了怎么办?VJump帮你解除屏蔽
  17. 【Python处理EXCEL】--pandas导入Excel文件
  18. ViKey加密狗对Word文档进行加密
  19. Spring学习笔记7_使用JSR 330标准注解(Using JSR 330 Standard Annotations)
  20. Python各个版本特性

热门文章

  1. 零基础CSS入门教程(31)–代码格式化
  2. omam138/upp/fpga
  3. 苹果6s怎么录屏 Airplay镜像怎么投屏
  4. Flink 一站式计算平台 StreamPark 2.0.0 重磅发布,首个 Apache 版本终于来了
  5. ORB-SLAM2:(二)Monocular/Stereo/RGB-D数据集
  6. 仿牌独立站收款与Paypal、Stripe跳转轮询机制
  7. SuperMap GIS 倾斜摄影数据处理 QA
  8. NAC配置与管理——3
  9. 04 AVR单片机ATMEGA8 USART的使用
  10. 打开lol显示lua_pcall_Lua中的异常处理pcall、xpcall、debug使用实例