当应用程序版本升级时

来源:互联网 发布:傻瓜进销存软件 编辑:程序博客网 时间:2024/04/28 08:06

在应用程序升级时,在升级的界面要用到的,

Handler handler = new Handler() {        public void handleMessage(android.os.Message msg) {            try {                int what = msg.what;                Bundle bundle = msg.getData();                switch (what) {                case MSG_SHOW_VERSION_INFO:                    // 新旧版本号                    final VersionEntity versionEntity = (VersionEntity) bundle                            .getSerializable(Const.KEY_DATA);                    double currentVersion = Double.parseDouble(Tools                            .getCurrentVersion(getActivity()));                    double newVersion = Double.parseDouble(versionEntity                            .getVersion());                    if (currentVersion < newVersion) {                        // 显示dialog 升级或者取消的对话框                        AlertDialog.Builder dialog = new Builder(getActivity());                        dialog.setMessage(versionEntity.getVersion() + "\n"                                + versionEntity.getChangeLog());                        dialog.setNegativeButton("取消", null);                        dialog.setPositiveButton("升级",                                new AlertDialog.OnClickListener() {                                    @Override                                    public void onClick(DialogInterface dialog,                                            int which) {                                        String apkUrl = versionEntity                                                .getApkUrl();                                        UpdateBiz.getApk(handler, apkUrl);                                    }                                });                        dialog.show();                    } else {                        Toast.makeText(getActivity(), "你的版本是最新的",                                Toast.LENGTH_SHORT).show();                    }                    break;                case MSG_INSTALL_APK:                    // 每部手机都已经有了安装apk的功能 通过隐式意图启动安装新的apk的界面,这个界面是android 系统自己带的                    Intent intent = new Intent(Intent.ACTION_VIEW);                    String apkPath = bundle.getString(Const.KEY_DATA);                    File file = new File(apkPath);                    Uri uri = Uri.fromFile(file);                    // mime  这个是文件扩展名最正规的表达,可以百度 mime                    String fileType = "application/vnd.android.package-archive";                    intent.setDataAndType(uri, fileType);                    getActivity().startActivity(intent);                    break;                case MSG_ERROR:                    Toast.makeText(getActivity(), "升级失败", Toast.LENGTH_SHORT).show();                    break;                }            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        };    };
0 0
原创粉丝点击