人生处万类,知识最为贤。这篇文章主要讲述更新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);
}
推荐阅读
- Appuim项目实战---监听testng
- Android Retrofit源码分析(一边用一边侃)
- Android 自定义控件之圆形扩散View(DiffuseView)
- Android7.0对dlopen的改变
- Android Studio (Error message)
- 解决小米手机不能运行Android Studio程序的问题
- cordova requirements error:Android target: not installed
- Android 内存泄漏
- appium===报错Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without