程序更新:
一、获取程序的版本号
1.获取包管理器
PackageManager manager = context.getApplicationContext().getPackageManager();
2.获取到包的信息
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
3.得到版本号
info.versionCode;
二、 判断当前版本与线上版本是否一致,已经更新的内容
1.线上版本要大于当前本版
newVersion > appVersion
2. 可有可无 获取上次更新的时间 是否大于当今的时间
getLastUpdateTime()>getNowTime()
3. 可有可无 是否进行强制更新程序
4.更新程序在后台
1.判断内存空间是否充足
2.更新存储的文件夹是否存在
3.更新程序
URL url = new URL(downloadUrl);
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();//打开连接
httpConnection.setConnectTimeout(10000);//读取时间
httpConnection.setReadTimeout(20000);//超时
httpConnection.getResponseCode() == 404 //判断地址是否存在
InputStream is = httpConnection.getInputStream(); //获取流
//获取更新文件的长度
long totalSize = httpConnection.getContentLength();
getLoaclLength();//获取当前本地的文件长度
totalSize > getLoaclLength() //是否更新完毕
//获取输入流 true 覆盖或者后续文件
一、获取程序的版本号
1.获取包管理器
PackageManager manager = context.getApplicationContext().getPackageManager();
2.获取到包的信息
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
3.得到版本号
info.versionCode;
二、 判断当前版本与线上版本是否一致,已经更新的内容
1.线上版本要大于当前本版
newVersion > appVersion
2. 可有可无 获取上次更新的时间 是否大于当今的时间
getLastUpdateTime()>getNowTime()
3. 可有可无 是否进行强制更新程序
4.更新程序在后台
1.判断内存空间是否充足
2.更新存储的文件夹是否存在
3.更新程序
URL url = new URL(downloadUrl);
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();//打开连接
httpConnection.setConnectTimeout(10000);//读取时间
httpConnection.setReadTimeout(20000);//超时
httpConnection.getResponseCode() == 404 //判断地址是否存在
InputStream is = httpConnection.getInputStream(); //获取流
//获取更新文件的长度
long totalSize = httpConnection.getContentLength();
getLoaclLength();//获取当前本地的文件长度
totalSize > getLoaclLength() //是否更新完毕
//获取输入流 true 覆盖或者后续文件
OutputStream fos = new FileOutputStream(filePath, true);
应用程序的安装方法:
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "test.apk")), "application/vnd.android.package-archive"); startActivity(intent);