• Android开发之应用程序的安装


    这里介绍的是用XUtils下载apk文件,然后进行安装。

    首先用HttpUtils下载文件(记得获取SD卡的读写权限和联网的权限):

     1 /**
     2      * 下载Apk
     3      */
     4     private void downLoadApk() {
     5         //检测是否挂载了SD卡
     6         if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
     7             final String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator+"safer.apk";
     8 
     9             HttpUtils httpUtils = new HttpUtils();
    10             httpUtils.download(mDownloadUrl, path, new RequestCallBack<File>() {
    11                 //下载成功
    12                 @Override
    13                 public void onSuccess(ResponseInfo<File> responseInfo) {
    14                     Log.i(TAG,"下载成功");
    15                     File file = responseInfo.result;
    16                     installApk(file);
    17                 }
    18                 //下载失败
    19                 @Override
    20                 public void onFailure(HttpException error, String msg) {
    21                     Log.i(TAG,"下载失败");
    22                 }
    23                 //刚开始下载的方法
    24                 @Override
    25                 public void onStart() {
    26                     super.onStart();
    27                     Log.i(TAG,"开始下载");
    28                 }
    29                 //total下载内容的总大小     current当前下载量        isUploading是否正在下载
    30                 @Override
    31                 public void onLoading(long total, long current, boolean isUploading) {
    32                     super.onLoading(total, current, isUploading);
    33                     Log.i(TAG,"正在下载");
    34                 }
    35             });
    36 
    37         }
    38 
    39     }

    然后就是安装下载来的apk文件:

    private void installApk(File file) {
            Intent intent = new Intent("android.intent.action.VIEW");
            intent.addCategory("android.intent.category.DEFAULT");
            intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        }

    把下好的File直接传进来,然后安装就可以了,。

    注意:必须签名文件一样才能进行升级安装。

    GitHub:https://github.com/godfunc
    博客园:http://www.cnblogs.com/godfunc
    Copyright ©2019 Godfunc
  • 相关阅读:
    ADO中的多层次数据集,类似于dataset
    工作流的设计
    Socket bind系统调用简要分析
    linux Network Address Translation NAT 转载 还需要整理
    生活20190602
    磁盘空间满的问题
    linux netfilter nat 实现 转载
    Socket 套接字的系统调用
    linux 网络编程 基础
    学习linux,不要找别人了,我有东西要发
  • 原文地址:https://www.cnblogs.com/Godfunc/p/6179620.html
Copyright © 2020-2023  润新知