在《Android 手机卫士--解析json与消息机制发送不同类型消息》一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下:
Java代码
    - private Handler mHandler = new Handler() {  
     -       
     -     public void handleMessage(android.os.Message msg) {  
     -         switch (msg.what) {  
     -         case UPDATE_VERSION:  
     -               
     -               
     -             break;  
     -         case ENTER_HOME:  
     -               
     -             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;  
     -         }  
     -     };  
     - };  
 
  因为弹出吐司操作比较常见,于是将其写成工具类进行简单的封装,方便以后调用。
  于是新建工具类:ToastUtil.java
Java代码
    - package com.wuyudong.mobilesafe.Utils;  
     -   
     - import android.content.Context;  
     - import android.widget.Toast;  
     -   
     - public class ToastUtil {  
     -       
     -       
     -      
     -  
     -  
     -   
     -     public static void show(Context context, String message) {  
     -         Toast.makeText(context, message, 0);  
     -     }  
     - }  
 
  如果当前版本号<服务器版本号,则出现对话框提示更新
Java代码
    -  
     -  
     -   
     - protected void showUpdateDialog() {  
     -     System.out.println("showUpdateDialog");  
     -       
     -     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) {  
     -               
     -             downloadApk();  
     -         }  
     -     });  
     -     builder.setNegativeButton("稍后再说", new OnClickListener() {  
     -         @Override  
     -         public void onClick(DialogInterface dialog, int which) {  
     -               
     -             enterHome();  
     -         }  
     -     });  
     -     builder.show();  
     - }  
 
  实现的效果如下:

  其中downloadApk()函数在下篇文章中实现