Android 自带下载器下载Apk文件简单封装类

本文介绍了如何使用Android自带下载器进行APK文件的下载,并提供了简单封装的AsyncTask示例,强调在实际使用中建议在服务中进行长时间操作。
摘要由CSDN通过智能技术生成

使用这个方法需继承AsyncTask<Void, Integer, Boolean>,个人理解步骤分为四个阶段。初始化变量->创建下载器->监听下载器状态->安装应用。

直接看代码:(核心代码类)在测试的时候为了方便将接口代码写在了一起。

public class SystemDownloaderFileDownUtil extends AsyncTask<Void, Integer, Boolean> {


    //下载管理器
    private DownloadManager mDownloadManager;
    /**
     * 下载内容及状态
     * int[0]:已下载文件大小
     * int[1]:总下载文件大小
     * int[2]:下载状态
     */
    private int[] mBytesAndStatus;
    //下载文件保存路径
    private String mApkFileDirPath;
    //安装文件名称
    private String mName;
    //下载路径
    private String mDownloadUrl;
    //任务ID
    private long mTaskId;
    //下载任务接口
    private SingleFileDownloadCallback mInstallerListener;


    /**
     * 私有化构造方法
     */
    private SystemDownloaderFileDownUtil() {
        super();
        init();
    }

    /**
     * 创建内核下载操作实例
     *
     * @return 内核下载操作实例 {@link SystemDownloaderFileDownUtil}
     */
    public static SystemDownloaderFileDownUtil create() {
        return new SystemDownloaderFileDownUtil();
    }

    /**
     * 初始化方法
     */
    private void init() {
        mDownloadManager = (DownloadManager) BaseMainInitialize.getAppContext().getSystemService(Context.DOWNLOAD_SERVICE);
        mBytesAndStatus = new int[]{-1, -1, 0};
        mApkFileDirPath = BaseContext.FilePath.AppPath + "/Apk";
        mName = "upApk.apk";
        mDownloadUrl = "http://192.168.1.243:11000/index.php?mod=io&op=download&path=NUVvU1lLYXI5SkNQcjByMmhqTXZwRmowMVNicXozQzVnYkNidG1MX210VnVVZ3ZnZzduczdDSlcyRXJZYWpROFduNlN4aDFzdUJMM0t3&t=1676514363995";
        mInstallerListener = null;
    }

    /**
     * 设置安装监听
     *
     * @param installListener 安装监听 {@link SingleFileDownloadCallback}
     * @return {@link SystemDownloaderFileDownUtil}
     */
    public SystemDownloaderFileDownUtil setInst
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值