//权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
//全局变量
private HttpUtils hu;
//create方法中
hu = new HttpUtils(); tv = (TextView) findViewById(R.id.tv); //得到版本号 try { int versionCode = getPackageManager().getPackageInfo("com.example.lenovo.version", 0).versionCode; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } String path=""; //path是获取版本号的地址 hu.send(HttpRequest.HttpMethod.GET, "path", new RequestCallBack<String>() { //重写成功方法 @Override public void onSuccess(ResponseInfo<String> responseInfo) { System.out.println("连接成功!"); //服务器返回的json串 String result = responseInfo.result; // // if (versionCode < 服务器获得的版本号) { // //下载方法 xiazai(hu); // } } //重写时报方法 @Override public void onFailure(HttpException e, String s) { System.out.println("连接成功!"); } } );
//下载方法
private void xiazai(HttpUtils hu) { // 文件的下载 File file = new File(Environment.getExternalStorageDirectory(), "baiduxinwen.apk"); hu.download("http://gdown.baidu.com/data/wisegame/f98d235e39e29031/baiduxinwen.apk", file.getAbsolutePath(), true, true, new RequestCallBack<File>() { @Override public void onSuccess(ResponseInfo<File> responseInfo) { Toast.makeText(MainActivity.this, "下载成功!", Toast.LENGTH_SHORT).show(); //按装方法 anzhuang(); } @Override public void onFailure(HttpException e, String s) { //Log.i("zzz","失败"); Log.i("zzz", "失败" + e.getMessage() + " ------------------" + s.toString()); } @Override public void onStart() { Log.i("zzz", "开始"); } @Override public void onLoading(long total, long current, boolean isUploading) { tv.setText(current + "/" + total); //下载进度 Log.i("zzz", current + ":" + total); Toast.makeText(MainActivity.this, "正在下载", Toast.LENGTH_SHORT).show(); } }); }
//安装方法
private void anzhuang() { String fileName = "/sdcard"; Intent i = new Intent(); i.setAction(Intent.ACTION_VIEW); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); startActivity(i); Toast.makeText(MainActivity.this, "安装成功!", Toast.LENGTH_SHORT).show(); }