1,注册广播,一般使用静动态注册,即当程序退出的时候广播接受者就收不到消息使用方法context.registerReceiver()方法在MainActivity中的OnStart()方法中执行注册,代码:

IntentFilter intentFilter=new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
this.registerReceiver(judgeNetIsConnectedReceiver, intentFilter);

在onStop()方法中解除绑定

if(this.judgeNetIsConnectedReceiver!=null){
this.unregisterReceiver(judgeNetIsConnectedReceiver);
}

2,不多说,直接看我们的代码,创建一个BroadCaseReceiver的子类

package com.example.queryencyclopediademo01.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast; /**
* 声明网络是否连接成功的广播接受者
* @author dell
*
*/
public class JudgeNetIsConnectedReceiver extends BroadcastReceiver { @Override
public void onReceive(Context context, Intent intent) {
//得到是否没有网络连接成功
boolean isNotConnected=intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); if(!isNotConnected || judgeNetIsConnected(context)){
Toast.makeText(context, "网络连接成功!", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(context, "您的网络不给力,请检查网络!", Toast.LENGTH_LONG).show();
}
} /**
* 判断网络连接是否成功
* @param context 上下文对象
* @return 网络连接是否成功
*/
public static boolean judgeNetIsConnected(Context context) {
//得到连接管理器对象
ConnectivityManager connectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo= connectivityManager.getActiveNetworkInfo();
if(networkInfo==null){
return false;
} return networkInfo.isConnected();
} }

Android中实现进入App之后检查网络状态的更多相关文章

  1. 解剖android中的闹钟app 一

    首先,看一看android市场上有哪些主流的闹钟app了,我们来进行一个简单的评测: 一.正点闹钟 这是一款源自金山技术的闹钟app,其主力创始团队都是来自于金山,其装机量,下载量都是排名第一.老样子 ...

  2. Android 关于后台杀死App之后改变服务器状态的一些尝试

    前言: 如题,我的需求是:我需要在App在后台运行(未退出),调出最近运行记录,杀死App服务时,程序能够向服务器发送一条指令,以此达到我想要的目的. Android方面刚刚才开始玩,我一开始想的是可 ...

  3. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  4. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G) by徐文棋

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  5. Android中实现跨app之间数据的暴露与接收

    例如一个小项目:实现单词本的添加单词等功能 功能:不同的方式实现跨app之间数据的暴露与接收 暴露端app:实现单词的添加(Word.Translate),增删改查: 接收端app:模糊查询,得到暴露 ...

  6. 揭破android中的闹钟app 二

    · 这节,我们通过wheelview来模仿一个简易的正点闹钟. 我这里不说wheelview来龙去脉,只阐述几个简单的方法,如果,想看一看具体wheelview的内容,请看下面两篇文章: androi ...

  7. Android 中怎么重新启动APP或系统

    重新启动应用程序,有两种方法,分别是: 1.通过ActivityManager来重新启动应用程序: ActivityManager manager = (ActivityManager)this.ge ...

  8. Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动

    不多说了,直接看代码, NB人会懂的! package com.example.vdisktest; import android.app.Activity; import android.conte ...

  9. android中随着ScrollView的滑动,titleBar状态的改变

    今天项目有一个需求,,类是于QQ空间里面的一个功能,于是就研究了一下,嗯,说这么多,可能还有人不知道指的是那个,直接上效果图.见谅,不会弄动态图:   对,就是这种效果,我研究了一下,思路如下: 1. ...

随机推荐

  1. 图解Activity与Fragment

    文字待补充.. 注:由于图片太大,显示不清晰请谅解.大家可以右键图片-->在新窗口打开,或者保存到本地查看.

  2. 汇编ASCII大小写转换(字符串长度$的用法)

    data segment first db "BaSiC" db "iNfOrMaTiOn" len equ $-first ;×Ö·û´®³¤¶È ends ...

  3. php练习:给指定商品添加特殊效果

    老板说: 我只要在文本框填1|3 ,那第1和第3个商品都要标注! 思考过程: 有了重要信息1和3,而循环商品时$key按顺序自动递增,那么只要key和信息匹配的话,就判断商品添加标注,这个可以把位置信 ...

  4. start from here

    简单介绍下,小码农一只,工作两年左右,从事移动端游戏开发工作. 人类,精神正常,男,爱好游戏音乐足球美女,if(有妹子) 喜欢旅游;,取向正常. 很喜欢java,喜欢关注新技术, 应一些朋友的建议,今 ...

  5. javascript正则表达式(一)

    元字符 ( [ { \ ^ $ | ) ? * + . 预定义的特殊字符 字符 正则 描述 \t /\t/ 制表符 \n /\n/ 制表符 \r /\r/ 回车符 \f /\f/ 换页符 \a /\a ...

  6. 人脸pts文件检查及人脸框输出

    function output() outtxt = fopen('D:\AR database\kz.txt','wt'); : imgpath= strcat('D:\AR database\kz ...

  7. c#中的linq一

    c#中的linq 测试数据: using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  8. LeetCode Combination Sum III

    原题链接在这里:https://leetcode.com/problems/combination-sum-iii/ 题目: Find all possible combinations of k n ...

  9. 常用公共的css的样式

    html{-webkit-text-size-adjust:none; /*解决chrome浏览器下字体不能小于12px*/} body{overflow-x: hidden; font-size:1 ...

  10. 3d sphere opengl

    http://stackoverflow.com/questions/5988686/creating-a-3d-sphere-in-opengl-using-visual-c