• android:versionCode:主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户。

  • android:versionName:这个是我们常说明的版本号,由三部分组成<major>.<minor>.<point>,该值是个字符串,可以显示给用户。

  • 可根据app packagename 或者 app name 来进行校验,app 是否已安装。

publicstaticbooleanisAppInstalled(Contextcontext,Stringpackagename){finalPackageManagerpackageManager=context.getPackageManager();List<PackageInfo>pinfo=packageManager.getInstalledPackages(0);List<String>pName=newArrayList<String>();if(pinfo!=null){for(inti=0;i<pinfo.size();i++){Stringpn=pinfo.get(i).packageName;pName.add(pn);}}returnpName.contains(packagename);}

校验App是否需要升级,需要比对VersionCode

publicstaticintgetCurVersion(Contextcontext,Stringpackagename){intcurversion=0;try{//---getthepackageinfo---PackageManagerpm=context.getPackageManager();PackageInfopi=pm.getPackageInfo(packagename,0);curversion=pi.versionCode;if(curversion<=0){return0;}}catch(Exceptione){if(Constants.DebugMode){Log.e("VersionInfo","Exception",e);}}returncurversion;}

校验完成后,可选择静默安装:

publicstaticvoidinstall(Contextcontext,StringfilePath){Intenti=newIntent(Intent.ACTION_VIEW);i.setDataAndType(Uri.parse("file://"+filePath),"application/vnd.android.package-archive");i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(i);}


更多相关文章

  1. Android(安卓)studio 3.4中gradle版本5.1.1和及历史插件版本对应
  2. 4、Android(安卓)SDK命令行工具AAPT2
  3. Android(安卓)版本(列表)
  4. Android(安卓)String format
  5. 让Android应用程序支持安装到SD卡
  6. Android界面与交互设计原则
  7. android利用反射来解决版本兼容问题。
  8. 【OpenCV3.3】搭建VS2017+Android开发环境
  9. android 打电话的例子

随机推荐

  1. Android/linux(earlysuspend、lateresume
  2. [置顶] android 长按和点击监听事件 谁先
  3. Android消息处理机制、Hanlder机制(Handle
  4. Android 检测键盘显示或隐藏键盘的实现代
  5. Android(安卓)开发遇到的问题
  6. Android的文件监控系统不可靠
  7. android屏幕触摸事件机制
  8. Android Binder 面试知识小结
  9. Android 更新UI的两种方法——handler和r
  10. android的软盘影响背景问题