private void checkVersion( AppVersion appVersion){if(StringUtils.isEmpty(appVersion.getNum())){UIHelper.ToastMessage(Setting.this, "获取不到最新版本,请稍后重试");return ;}if(Version.getName(Setting.this).compareTo(appVersion.getNum())>=0){UIHelper.ToastMessage(Setting.this, "当前版本号:"+appVersion.getNum()+"已是最新版本,谢谢使用");return ;}checkUpdate(appVersion);}private void checkUpdate(final AppVersion appVersion){String info = "发现新版本的应用\n" +"本地版本" + Version.getName(Setting.this) + "\n" +"最新版本:" + appVersion.getNum() + "\n" +"是否立即更新";builder = new AlertDialog.Builder(this);builder.setTitle("程序自动更新").setMessage(info).setIcon(R.drawable.refresh).setCancelable(false).setPositiveButton("确定", new DialogInterface.OnClickListener() {  public void onClick(DialogInterface dialog, int id) {         doUpdate(appVersion.getApkAddress());        dialog.dismiss();}}).setNegativeButton("取消", new  DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int i) { dialog.dismiss();}});apkhandler.post(new Runnable() {public void run() {Dialog dlg = builder.create();dlg.show();}});}private void doUpdate(final String apkDownAddr) {progressDlg = new ProgressDialog(this);progressDlg.setTitle("正在下载");progressDlg.setMessage("请稍候..");progressDlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);handler.post(new Runnable() {public void run() {progressDlg.show();}});if (!isSdCardReady()) {UIHelper.ToastMessage(Setting.this, "SD卡没准备好");progressDlg.dismiss();return;}apkFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/temp/dianjiaqin_hy.apk";apkFile = new File(apkFilePath);if (apkFile.exists()) {apkFile.delete();}new Thread() {@Overridepublic void run() {try{  HttpUtils.download(apkDownAddr, apkFilePath,new DefaultHttpClient(new BasicHttpParams())); }catch(RuntimeException e){ UIHelper.ToastMessage(Setting.this, "更新失败,网络异常,请检查网络是否连接超时"); }apkhandler.post(new Runnable() {public void run() {progressDlg.cancel();}});Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");Setting.this.startActivity(intent);applications.clearUserData();//applications.quit();AppManager.getAppManager().AppExit(getParent());}}.start();}public  boolean isSdCardReady() {return Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);}

更多相关文章

  1. Android(安卓)网络图片查看器
  2. 更新android sdk出现 A folder failed to be renamed or moved
  3. android 程序自动更新
  4. Android(安卓)设置View背景图网络url
  5. Android(安卓)7.1使用以太网口共享本机4G网络给其他设备
  6. Android(安卓)判断当前网络 wifi ctwap(cmwap) ctnet(cmnet)
  7. Android权限
  8. Android(安卓)Socket网络通信
  9. android - 常用知识点以及代码片段(不断更新)

随机推荐

  1. 神奇的 Magisk
  2. Android px, dp, sp的区别
  3. 【幻灯片分享】凡客移动应用之Android +
  4. android底层HAL层深入了解
  5. [置顶] [转]android开发新浪微博客户端
  6. Android进阶-Android Handler消息机制的
  7. Android屏幕待机时间的获取和设置
  8. android活动的生存期
  9. 开发者工程师软件工程师的IOS,WindowsPhon
  10. Android 6.0权限处理问题