在《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()函数在下篇文章中实现

Android 手机卫士--弹出对话框的更多相关文章

  1. Android 手机卫士--确认密码对话框编写

    本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...

  2. AlertDialog.Builder弹出对话框

    在Android中,弹出对话框使用AlertDialog.Builder方法. new AlertDialog.Builder(MainActivity.this).setTitle("本机 ...

  3. Android 使用弹出对话框,报Unable to add window错误

    今天在使用Android弹出对话框的时候,报了一个unable to add window错误,我的代码如下 new AlertDialog.Builder(getApplicationContext ...

  4. Android 手机卫士--阶段小结1

    本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本 ...

  5. Android 手机卫士--参照文档编写选择器

    本文来实现<Android 手机卫士--导航界面1的布局编写>中的图片选择器部分的代码. 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.ht ...

  6. android标题栏上面弹出提示框(二) PopupWindow实现,带动画效果

    需求:上次用TextView写了一个从标题栏下面弹出的提示框.android标题栏下面弹出提示框(一) TextView实现,带动画效果,  总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...

  7. android标题栏下面弹出提示框(一) TextView实现,带动画效果

    产品经理用的是ios手机,于是android就走上了模仿的道路.做这个东西也走了一些弯路,写一篇博客放在这里,以后自己也可用参考,也方便别人学习. 弯路: 1.刚开始本来用PopupWindow去实现 ...

  8. Android 手机卫士--解析json与消息机制发送不同类型消息

    本文地址:http://www.cnblogs.com/wuyudong/p/5900800.html,转载请注明源地址. 1.解析json数据 解析json的代码很简单 JSONObject jso ...

  9. service里面弹出对话框

    如何在service里面弹出对话框先给一个需求:需要在service里面监听短信的接收,如果接收到短信了,弹出一个dialog来提示用户打开. 看看效果图:(直接在主桌面上弹出) service中弹出 ...

随机推荐

  1. php多进程处理

    php多进程处理 往往我们会碰到一个情况,需要写一个脚本,这个脚本要处理的数据量极大,单进程处理脚本非常慢,那么这个时候就会想到使用多进程或者多线程的方式了. 我习惯使用多进程的方式,php中使用多进 ...

  2. CSS魔法堂:Absolute Positioning就这个样

    前言 当我们以position:absolute之名让元素脱离Normal flow的控制后,以为通过left和top属性值即可让元素得以无限的自由时,却发现还有各种神秘的力量左右着它的来去,于是我们 ...

  3. 你必须知道的ASP.NET-----IHttpAsyncHandler实质

    一.写在前面 一说到IHttpAsyncHandler,很多人会顾名思义地说'不就是异步IHttpHandler'吗? 但当我发出疑问:"你真知道他们的不同之处?你真会使用它吗?" ...

  4. 从.net转型,聊聊最近一些面试,薪资和想法

    上一个星期,一篇名为<.net估计要写在你手里了>几乎点燃了整个园子,有人群情激愤了,有人点赞的,有人上去打算喷博主个体无完肤的,总之,这篇博客很成功的引起一些.net 从业者的思考,也包 ...

  5. ES6笔记(1) -- 环境配置支持

    系列文章 -- ES6笔记系列 虽然ES6已经发布一年多了,但在各大浏览器之中的支持度还不是很理想,在这查看ES6新特性支持度 Chrome的最新版本浏览器大部分已经支持,在Node.js环境上支持度 ...

  6. div模拟textarea实现高度自增长

    今天突然有位前端的朋友问我textarea怎么实现高度随内容自增长,我一下子懵了,首先想到的是用js改变textarea的高度,但是百度了很多参考代码效果都不是很理想. 因为之前实际项目中用的text ...

  7. Response.Redirect 无法跳转页面

    错误现象:Response.Redirect(Server.MapPath("BackIndex.aspx")); 打断点测试执行了这一句,Server.MapPath(" ...

  8. 使用ASP.NET 4的自动启动特性,解决ASP.NET第一次访问速度慢问题

    些web应用在可以处理用户访问之前,需要装载很多的数据,或做一些花费很大的初始化处理.今天使用 ASP.NET 的开发人员经常使用应用的Global.asax 文件中的 “Application_St ...

  9. Web端权限管理新增实用功能:批量增加操作,简单方便快速!

    扩展了吉日嘎拉的Web端权限管理功能后,每次添加菜单倒没啥问题,毕竟菜单的数量有限,可是每增加一个模块.功能或者说权限控制点,就得针对各种常规操作,新增很多遍. 浪费时间,还容易出错.新增了一个字典表 ...

  10. 【Java每日一题】20161017

    20161014问题解析请点击今日问题下方的"[Java每日一题]20161017"查看 package Oct2016; import java.util.ArrayList; ...