最近在编写app的升级功能,第一反应就是看看公司的旧项目里有没有相关代码,看看能不能抄过来直接用,结果当然是不行,一是由于需求跟以前有些不同,二是之前的项目可能比较老,没有对7.0进行适配,于是在看完了老的升级代码的基础上,再加上我充分的发挥了码农的搬运精神,东拼西凑终于大致上的满足了需求,于是决定写篇博客,一是做一个记录以后再写这个不用那么费劲,二是希望有相似需求的同学可以少走弯路,废话不多说,先把完整代码贴上来
package com.example.administrator.updateapkdemo;
import android.annotation.TargetApi;
import android.app.Dialog;
import android.app.DownloadManager;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.Handler;
import android.os.SystemClock;
import android.support.annotation.RequiresApi;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private DownloadManager mDownloadManager;
private long mId;
private Dialog mDialog1;
private ProgressBar mProgressBar;
private TextView mPrecent;
private TextView mComplete;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceStat