美文网首页
使用Android 系统 DownloadManager下载AP

使用Android 系统 DownloadManager下载AP

作者: 冬絮 | 来源:发表于2020-03-05 11:22 被阅读0次
    1. 下载APK文件需要读写文件的权限,首先要进行权限申请.

    2. 创建DownloadManager 进行下载.

          //创建request对象
           DownloadManager.Request request = new DownloadManager.Request(Uri.parse(baseResponse.getDownload_url()));
           //设置什么网络情况下可以下载
           request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
           //制定下载的文件类型为APK
           request.setMimeType("application/vnd.android.package-archive");
           // 下载过程和下载完成后通知栏有通知消息。
           request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE
                   | DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
           //设置通知栏的标题
           request.setTitle("应用名称");
           //设置通知栏的message
           request.setDescription("正在下载应用名称...");
           //设置漫游状态下是否可以下载
           request.setAllowedOverRoaming(false);
           //表示允许MediaScanner扫描到这个文件,默认不允许。
           request.allowScanningByMediaScanner();
           //设置文件存放目录
           request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS,
                   "kekeshi" + baseResponse.getLatest_version() + ".apk");
           //获取系统服务
           DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
       //        startActivity(new android.content.Intent(DownloadManager.ACTION_VIEW_DOWNLOADS));//启动系统下载界面
           //进行下载
           downloadManager.enqueue(request);
      
    3. 在activity中的onActivityResult对现在完成的回调的监听.

         if (requestCode == REQUEST_INSTALL_PERMISSION) {
           if (Build.VERSION.SDK_INT > 25) {
               if (getPackageManager().canRequestPackageInstalls()) {
                   if (mApkFilePath != null) {//apk保存的路径
                       AppUtils.installApp(mApkFilePath);//安装apk
                   }
               }
           }
       }
      

    相关文章

      网友评论

          本文标题:使用Android 系统 DownloadManager下载AP

          本文链接:https://www.haomeiwen.com/subject/javtrhtx.html