当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,