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

参考:

https://github.com/zengDeveloper/ReactNative_AndroidDownload

从git上下载原生包,然后进行引用

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

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

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

以上三点,只需要将原生包复制到项目的android\app\src\main\java\com下的报名下的与MainApplication.java同级的目录下面,并把三个文件的包名改成当前项目的包名即可。也就是每个文件的包名package com.XXX.XXX;(自己的包名)

4、在AndroidManifest.xml中注册广播监听配置(XXX是自己的包名)

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

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

import com.XXX.xxx.DownloadApkPackage;//引入包
 @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new RNFSPackage(),
            new SplashScreenReactPackage(),
            new DownloadApkPackage()//注册包
      );
    }

6、调用

import {NativeModules} from 'react-native';

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

注意:安卓低版本的需要手动授权接受文件,在手机的设置里面去授权

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章