Android 版本检测
[java]
/**
*
* 版本检测,自动更新
* 1.通过Url检测更新 2.下载并安装更新 3.删除临时路径
*
*/
public class Update {
// 调用更新的Activity
public Activity activity = null;
// 当前版本号
public int versionCode = 0;
// 当前版本名称
public String versionName = "";
// 控制台信息标识
private static final String TAG = "AutoUpdate";
// 文件当前路径
private String currentFilePath = "";
// 安装包文件临时路径
private String currentTempFilePath = "";
// 获得文件扩展名字符串
private String fileEx = "";
// 获得文件名字符串
private String fileNa = "";
// 服务器地址
private String strURL = "http://127.0.0.1:8080/ApiDemos.apk";
private ProgressDialog dialog;
/**
*
* 构造方法,获得当前版本信息
*
*
* @param activity
*/
public Update(Activity activity) {
this.activity = activity;
// 获得当前版本
getCurrentVersion();
}
/**
*
* 检测更新
*/
public void check() {
// 检测网络
if (isNetworkAvailable(this.activity) == false) {
return;
}
// 如果网络可用,检测到新版本
if (true) {
// 弹出对话框,选择是否需要更新版本
showUpdateDialog();
}
}
/**
*
* 检测是否有可用网络
*
*
* @param context
*
* @return 网络连接状态
*/
public static boolean isNetworkAvailable(Context context) {
try {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
// 获取网络信息
NetworkInfo info = cm.getActiveNetworkInfo();
// 返回检测的网络状态
return (info != null && info.isConnected());
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
*
* 弹出对话框,选择是否需要更新版本
*/
public void showUpdateDialog() {
@SuppressWarnings("unused")
AlertDialog alert = new AlertDialog.Builder(this.activity)
.setTitle("新版本").setIcon(R.drawable.ic_launcher)
.setMessage("是否更新?")
.setPositiveButton("是", new DialogInte易做图ce.OnClickListener() {
public void onClick(DialogInte易做图ce dialog, int which) {
// 通过地址下载文件
downloadTheFile(strURL);
// 显示更新状态,进度条
showWaitDialog();
}
})
.setNegativeButton("否", new DialogInte易做图ce.OnClickListener() {
public void onClick(DialogInte易做图ce dialog, int which) {
dialog.cancel();
}
}).show();
}
/**
*
* 显示更新状态,进度条
*/
public void showWaitDialog() {
dialog = new ProgressDialog(activity);
dialog.setMessage("正在更新,请稍候...");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
dialog.show();
}
/**
*
* 获得当前版本信息
*/
public void getCurrentVersion() {
try {
&n
补充:移动开发 , Android ,