手机当完成联网时会发送一个广播,我们只要创建一个广播接收者即可,代码如下:

package com.example.NetworkChangeReceiver2;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast; /**
* Created by Heyiyong on 2014-4-20 下午2:23.
*/
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
if (activeNetworkInfo == null) {
Toast.makeText(MyActivity.instance, "当前无网络连接!", 1).show();
}
if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Toast.makeText(MyActivity.instance, "wifi连接成功!", 1).show();
return;
}
if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {//当前的connect不是wifi,并且是移动数据
Toast.makeText(MyActivity.instance, "移动数据流量连接!", 1).show();
return;
}
}
}

MyActivity.java

package com.example.NetworkChangeReceiver2;

import android.app.Activity;
import android.os.Bundle; public class MyActivity extends Activity {
public static MyActivity instance;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
instance = this;
}
}

注意:不要忘了添加权限:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

注册广播接收者:

        <receiver
android:name=".NetworkChangeReceiver"
android:label="NetworkConnection" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>

Android 监测手机联网状态 wifi、移动数据流量、无联网状态的更多相关文章

  1. Android 个人手机通讯录开发

    一.Android 个人手机通讯录开发 数据存储:SQLite 数据库 开发工具:Android Studio 二.Phone Module 简介 1. 界面展示                2. ...

  2. Android 判断当前联网的类型 wifi、移动数据流量

    先获取系统管理网络连接的Manager: ConnectivityManager connectivityManager = (ConnectivityManager) getSystemServic ...

  3. Android之监测手机网络状态的广播

    Android之监测手机网络状态的广播 Android 监控网络状态 Android利用广播监听设备网络连接(断网)的变化情况

  4. Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  5. 开发android App干坏事(二)-wifi控制

    本来今天打算换个话题的,鉴于昨天android篇反响还不错,最近也是在做这方面的东西,今天聊聊一个新的android的发现-wifi的控制(好吧,其实也不能说是坏事,只是觉得wifi安全还是要引起警示 ...

  6. Android自动连接指定的wifi,免密码或指定密码

    一.运行时的状态 遇到一个这样的要求:“不进行扫描操作,怎么对指定的免密码WIFI进行连接(之前没有连接过)”,于是动手写了一个Demo,如图所示未连接成功时的状态,第一个编辑框让用户输入SSID,第 ...

  7. Android之手机向导以及设置中心模块的开发

    当我们使用的新的软件的时候,我们首先需要教用户如何使用我们的软件,当用户学习完使用教程,下次再登录的时候,我们应该直接跳到我们的功能界面,下面我来展示一下我学习视频做的效果图:手机防盗这个功能模块就是 ...

  8. Android 获取手机SIM资料详解

    TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法.其中包括手机SIM的状态和信息.电信网络的状态及手机用户的信息.在应用程序中可以使用这些get方法获取 ...

  9. android开发中的5种存储数据方式

    数据存储在开发中是使用最频繁的,根据不同的情况选择不同的存储数据方式对于提高开发效率很有帮助.下面笔者在主要介绍Android平台中实现数据存储的5种方式. 1.使用SharedPreferences ...

随机推荐

  1. html关于强制显示 隐藏浏览器的滚动条

    浏览器的滚动条在一些特殊的展示中,是不需要的,所以必须把它隐藏掉,文章主要介绍一些隐藏或者显示IE的水平或者垂直滚动条的实现代码,需要了解的朋友可以参考下: 相关css代码如下: //强制显示滚动条: ...

  2. jquery 1.6发布后,增加prop()方法部分取代attr()方法

    以前的jq中,全部使用attr来访问对象的属性,比如取一个图片的alt属性,就可以这样做$('#img').attr('alt');   但是在某些时候,比如访问checkbox的disabled属性 ...

  3. 封装getElementsByClassName

    function getElementsByClassName(oEle,sClass,sEle){ if(oEle.getElementsByClassName){ return oEle.getE ...

  4. referenceerror wx is not defined 微信JsSdk开发

    如果你和我一样遇到了“referenceerror wx is not defined”错误,很有可能是jweixin-1.0.0.js与你其它某js冲突. 解决办法: <script type ...

  5. python之递归

    递归的定义:即对自己自身内容的引用. 有用的递归函数应包含以下几步份: 当函数直接返回值时有基本的实例(最小可能性问题): 递归实例,包括一个或者多个问题较小部分的递归调用: 递归的关键就是将问题分解 ...

  6. XAML 概述三

    通过对前面2节对XAML的介绍,我们对XAML有了一定的认识.这一节我们来简单了解一下部分XAML命名空间(x:)语言功能. x命名空间映射的是http://schemas.microsoft.com ...

  7. MySQL 5.7.9的多源复制

    什么是多源复制? 首先,我们需要清楚 multi-master 与multi-source 复制不是一样的. Multi-Master 复制通常是环形复制,你可以在任意主机上将数据复制给其他主机. M ...

  8. Linux环境下GIT初次使用

    Git是一个功能强大的分布式版本控制系统,最初用来作Linux内核代码管理的. 第一次接触到github是关于一个报道:在2013年1月15日晚间,全球最大的社交编程及代码托管网站GitHub突然疑似 ...

  9. mouse_driver

    1:function.h #ifndef FUNCTION_H#define FUNCTION_H #define DRIVER_FUNCTION_ADD_DEVICE#define DRIVER_F ...

  10. 网络笔记01-2 scoket

    scoket: 1.socket /** 第一个参数(domain): 表示用什么协议 AF_INET 为IPV4开发 第二个参数(type): 表示scoket为什么类型SOCK_STREAM为TC ...