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");
}

注意:安卓低版本的需要手動授權接受文件,在手機的設置裏面去授權

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