首页 > 代码库 > 下载安装APK

下载安装APK

protected void downloadApk() {        //apk下载链接地址,放置apk的所在路径                //1,判断sd卡是否可用,是否挂在上        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){            //2,获取sd路径            String path = Environment.getExternalStorageDirectory().getAbsolutePath()                    +File.separator+"mobilesafe74.apk";            //3,发送请求,获取apk,并且放置到指定路径            HttpUtils httpUtils = new HttpUtils();            //4,发送请求,传递参数(下载地址,下载应用放置位置)            httpUtils.download(mDownloadUrl, path, new RequestCallBack<File>() {                @Override                public void onSuccess(ResponseInfo<File> responseInfo) {                    //下载成功(下载过后的放置在sd卡中apk)                    Log.i(tag, "下载成功");                    File file = responseInfo.result;                    //提示用户安装                    installApk(file);                }                @Override                public void onFailure(HttpException arg0, String arg1) {                    Log.i(tag, "下载失败");                    //下载失败                }                //刚刚开始下载方法                @Override                public void onStart() {                    Log.i(tag, "刚刚开始下载");                    super.onStart();                }                                //下载过程中的方法(下载apk总大小,当前的下载位置,是否正在下载)                @Override                public void onl oading(long total, long current,boolean isUploading) {                    Log.i(tag, "下载中........");                    Log.i(tag, "total = "+total);                    Log.i(tag, "current = "+current);                    super.onLoading(total, current, isUploading);                }            });                    }    }    /**     * 安装对应apk     * @param file    安装文件     */    protected void installApk(File file) {        //系统应用界面,源码,安装apk入口        Intent intent = new Intent("android.intent.action.VIEW");        intent.addCategory("android.intent.category.DEFAULT");        /*//文件作为数据源        intent.setData(Uri.fromFile(file));        //设置安装的类型        intent.setType("application/vnd.android.package-archive");*/        intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");//        startActivity(intent);        startActivityForResult(intent, 0);    }

 

//开启一个activity后,返回结果调用的方法    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        enterHome();        super.onActivityResult(requestCode, resultCode, data);    }

 

下载安装APK