版本更新
来源:互联网 发布:mac三国志13战斗好卡 编辑:程序博客网 时间:2024/06/05 06:36
1.先创建一个Bean类,里面定义 路径和当前的版本号,创建方法
private int versionCode=100;private String path;2.获取当前版本信息private String url="http://125.39.134.47/r/a.gdown.baidu.com/data/wisegame/7c28ac069399b336/kuaishou_4812.apk";private String baopath=Environment.getExternalStorageDirectory()+"/。。。/kuaishou.apk";private Callback.Cancelable get;private ProgressDialog dialog;try { //获取包的管理类 PackageManager packageManager = getActivity().getPackageManager(); //获取包的信息 PackageInfo packageInfo = packageManager.getPackageInfo(getActivity().getPackageName(),0); //获取当前的版本号 int xianversionCode = packageInfo.versionCode; //在用抓包工具,把下载路径抓下来 BanBen_Bean version=new BanBen_Bean(); //把路径装到对象里 version.setPath(url); //现在版本小于请求请求下来的版本 if(xianversionCode<version.getVersionCode()) { //更新保存路径 File file= new File(baopath); //路径不等于空并且存在 if(file!=null&&file.exists()) { //直接走安装方法 install(file); } //走下载方法 else { xiaz(); } }} catch (PackageManager.NameNotFoundException e) { e.printStackTrace();}
3.创建一个对话框private void progressdialog(){ dialog = new ProgressDialog(getActivity()); //设置进度形式 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置暂停按钮 dialog.setButton(ProgressDialog.BUTTON_NEGATIVE,"暂停", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //取消 get.cancel(); } });}4.下载方法RequestParams params=new RequestParams(url);//设置支持断点续传params.setAutoResume(true);//设置支持立即取消params.setCancelFast(true);//判断sdcard是否是挂载状态if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ params.setSaveFilePath(baopath);}//Progress下载方式get = x.http().get(params, new Callback.ProgressCallback<File>() { //成功 @Override public void onSuccess(File result) { //直接走安装方法 install(result); } //失败 @Override public void onError(Throwable ex, boolean isOnCallback) { } //取消 @Override public void onCancelled(CancelledException cex) { } //结束 @Override public void onFinished() { } //等待 @Override public void onWaiting() { } //开始 @Override public void onStarted() { //开始显示对话框 dialog.show(); } //过程中 @Override public void onLoading(long total, long current, boolean isDownloading) { if (isDownloading==true) { //最大的进度 dialog.setMax((int) total); //当前的进度 dialog.setProgress((int) current); } }});5.安卓固定的安装方法private void install(File file) { //调用系统安装器 Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(Uri.parse("file://" + file.getAbsolutePath()), "application/vnd.android.package-archive"); startActivity(intent);}
阅读全文
0 0
- 版本更新
- //版本更新
- 版本更新
- 更新版本
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- 版本更新
- [BZOJ]3143 游走 期望 + 高斯消元
- HDU 4907-Task schedule
- Caffe学习(7)——图像数据转换为db文件(leveldb/lmdb)
- 如何部署MongoDB分片集群?
- 智能手机的发展未来:2017 苹果Apple 10周年秋季发布会 解析
- 版本更新
- oracle初级教程(链接)
- 软件许可证的设计思路
- 【Gradle】Library库工程的release及debug
- SPOJ 422 Transposing is Even More Fun(Polya计数)
- 4925: 城市规划
- WIN7安装DirectSDK
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
- POJ1233 Prim Kruskal