在《Android 手机卫士--解析json与消息机制发送不同类型消息》一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下:
private Handler mHandler = new Handler() { // public void handleMessage(android.os.Message msg) { switch (msg.what) { case UPDATE_VERSION: //弹出对话框,提示用户更新 //showUpdateDialog(); break; case ENTER_HOME: //进入应用程序主界面,activity跳转过程 enterHome(); break; case URL_ERROR: ToastUtil.show(getApplicationContext(), "url异常"); enterHome(); break; case IO_ERROR: ToastUtil.show(getApplicationContext(), "读取异常"); enterHome(); break; case JSON_ERROR: ToastUtil.show(getApplicationContext(), "json解析异常"); enterHome(); break; default: break; } }; };
因为弹出吐司操作比较常见,于是将其写成工具类进行简单的封装,方便以后调用。
本文地址:http://www.cnblogs.com/wuyudong/p/5902161.html,转载请注明源地址。
于是新建工具类:ToastUtil.java
package com.wuyudong.mobilesafe.Utils; import android.content.Context; import android.widget.Toast; public class ToastUtil { // 打印吐司 /** * @param context 上下文环境 * @param message 打印文本内容 */ public static void show(Context context, String message) { Toast.makeText(context, message, 0); } }
如果当前版本号<服务器版本号,则出现对话框提示更新
/** * 弹出对话框,提示用户更新 */ protected void showUpdateDialog() { System.out.println("showUpdateDialog"); //对话框,是依赖于activity存在的 Builder builder = new AlertDialog.Builder(this); //设置左上角图标 builder.setIcon(R.drawable.ic_launcher); builder.setTitle("版本更新"); //设置描述内容 builder.setMessage(mVersionDes); //积极按钮,立即更新 builder.setPositiveButton("立即更新", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //下载apk,apk链接地址,downloadUrl downloadApk(); } }); builder.setNegativeButton("稍后再说", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //取消对话框,进入主界面 enterHome(); } }); builder.show(); }
实现的效果如下:
其中downloadApk()函数在下篇文章中实现