package com.ectrip.cyt.version; import java.io.File; import com.ectrip.trips.check.R; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Handler; import android.os.Message; import android.widget.Toast; /** * @author jigo 处理通知下载 */ public class VersionHandler extends Handler { private final int DOWN_NOSDCARD = 0; private final int DOWN_UPDATE = 1; private final int DOWN_OVER = 2; private Activity activity; private VersionInterface versionInterface;// 回调 public VersionHandler(Activity activity, VersionInterface versionInterface) { this.activity = activity; this.versionInterface = versionInterface; } @Override public void handleMessage(Message msg) { ProgressBean progressBean = (ProgressBean) msg.obj; switch (msg.what) { case DOWN_UPDATE: versionInterface.setProgress(progressBean.getProgress()); versionInterface.tmpFileSize(progressBean.getTmpFileSize()); break; case DOWN_OVER: String path = progressBean.getApkFilePath(); versionInterface.dialogDismiss(); installApk(path); break; case DOWN_NOSDCARD: versionInterface.dialogDismiss(); Toast.makeText(activity, activity.getString(R.string.please_check_whether_the_SD_card_mount), Toast.LENGTH_SHORT).show(); break; } } /** * 安装apk * * @param url */ private void installApk(String apkFilePath) { File apkfile = new File(apkFilePath); if (!apkfile.exists()) { return; } Intent i = new Intent(Intent.ACTION_VIEW); i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive"); activity.startActivity(i); } }