更新APP

人生处万类,知识最为贤。这篇文章主要讲述更新APP相关的知识,希望能为你提供帮助。
【更新APP】流程:由于没弄服务器,很多数据模拟写死的,比如服务器给的版本号,写死是2.0。需要下载的APP,写死成SD卡上的APP
1、获取服务器版本号(假设是2.0) 不等于本地版本号1.0   →   2、下载APP (下载完成) →   3、APP内更新安装 (安装完成) →   4、删除APK安装包

private String new_version="2.0"; //应为服务器获取来的版本,这里测试用手写成2.0
private String path= Environment.getExternalStorageDirectory()+"/new.apk";
private File myfile=new File(path);
private Context context;

1、检测本地APP版本号:调用此方法,返回的即是版本号。我的APP是1.0(或者出错的异常)
public String getVersion() {//获取版本号
try {
PackageManager manager = this.getPackageManager();
PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
String version = info.versionName;
return this.getString(R.string.version_name) + version;
} catch (Exception e) {
e.printStackTrace();
return this.getString(R.string.can_not_find_version_name);
}
}

2、获取服务器端给的版本号,网上可以找。我这里模拟写死是2.0
3、比对版本号,1.0跟服务器最新的2.0 不等于   执行更新的方法
if (!getVersion().equals(new_version)){//新版本2.0
installApk(this,myfile);
}

4、下载APP。去服务器下载,我这里写死成SD卡的APP路径
private static void installApk(Context mContext, File file) {
Uri fileUri = Uri.fromFile(file);
Intent it = new Intent();
it.setAction(Intent.ACTION_VIEW);
it.setDataAndType(fileUri, "application/vnd.android.package-archive"); //数据和类型
it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 防止打不开应用
mContext.startActivity(it);
}









































    推荐阅读