文档章节

android网变化广播接收

Oneself丶x
 Oneself丶x
发布于 2013/09/11 08:58
字数 150
阅读 183
收藏 1
package cn.mucang.android.community.esa.library.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;

/**
 * Created by Sanders on 2014/11/4.
 */
public class ChangeReceiver extends BroadcastReceiver {

    private static final String ACTION_CONNECTIVITY_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE";

    /**
     * 加入权限  uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" <br>
     * 接受广播  action android:name="android.net.conn.CONNECTIVITY_CHANGE"
     */
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals(ACTION_CONNECTIVITY_CHANGE)) {
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
            NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            NetworkInfo wifiNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            if (activeNetInfo != null) {
                Log.d("TOOL", "wifi状态 : " + wifiNetInfo.getState() + "   数据网络状态 : " + mobNetInfo.getState());
                if (mobNetInfo.getState() == NetworkInfo.State.CONNECTED) {
                    Log.d("TOOL", "正在使用数据网络连接");
                } else if (wifiNetInfo.getState() == NetworkInfo.State.CONNECTED) {
                    Log.d("TOOL", "正在使用wifi连接");
                }
            } else {
                Log.d("TOOL", "没有连接任何网络");
            }
        }
    }

}


© 著作权归作者所有

Oneself丶x

Oneself丶x

粉丝 36
博文 23
码字总数 8233
作品 2
海淀
高级程序员
私信 提问
加载中

评论(2)

Oneself丶x
Oneself丶x

引用来自“plugin”的评论

请问,这个广播接受器能接收到网络变化的通知。有没有办法知道ip变化的通知呢?
不能啊!
plugin
plugin
请问,这个广播接受器能接收到网络变化的通知。有没有办法知道ip变化的通知呢?
四大组件之BroadcastReceiver(一)-自定义“收音机”与发送“广播”

版权声明:本文为博主原创文章,禁止转载,违者必究。 https://blog.csdn.net/anddlecn/article/details/51741455 第1节 Broadcast Receiver概述 很多时候,我们希望一个应用程序在它没有运行...

anddlecn
2016/06/23
0
0
android 广播接收者--BroadcastReceiver

BroadcastReceiver初识: 广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()来实现的。通常一个广播...

长平狐
2012/09/03
1K
0
Android 监听网络的变化

Android中网络情况时有变化,比如从有网到没网,从wifi到gprs,gprs又从cmwap到cmnet...等等! 如果你的程序有些功能是需要网络支持的,有时候就需要监听到网络的变化情况进行相应的处理。 ...

caikezhan
2012/07/24
0
1
基础总结篇之五:BroadcastReceiver应用详解

問渠那得清如許?為有源頭活水來。南宋.朱熹《觀書有感》 据说程序员是最爱学习的群体,IT男都知道,这个行业日新月异,必须不断地学习新知识,不断地为自己注入新鲜的血液,才能使自己跟上技...

Jonson
2013/09/18
0
0
基础总结篇之五:BroadcastReceiver应用详解

問渠那得清如許?為有源頭活水來。南宋.朱熹《觀書有感》 据说程序员是最爱学习的群体,IT男都知道,这个行业日新月异,必须不断地学习新知识,不断地为自己注入新鲜的血液,才能使自己跟上技...

MZHS
2013/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows同步对象Event和Linux的条件变量

最近在看一些同步对象模拟的东东,特别对在Windows下如何模拟条件变量折腾了很久。 1 Windows同步对象Event 微软有一个很有意思的同步对象,某种程度上和Linux的条件变量很相似。但秉承微软一...

shzwork
23分钟前
1
0
从上往下打印出二叉树的每个节点,同层节点从左至右打印。

//第一种做法 public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList <Integer> li=new ArrayList<Integer>(); ArrayList <TreeN......

南桥北木
33分钟前
1
0
linux 服务管理 Crontba、Ntpdate、Logrotate、Supervisor

crond linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。 另外, 由于使用者自己也可以设置计划任务,所以,...

狼王黄师傅
今天
3
0
Sobel算子和Scharr滤波器

Sobel算子在数学上的本质是微分,对离散信号,是求邻域内的增量。 基本原理:在图像上,对图像信号在某点进行微分,表示图像的某个特征(如,强度、色调或者饱和度)在该点的变换程度。以强度...

yepanl
今天
2
0
Jenkins API 使用

Jenkins 是一款流行的开源持续集成工具,可以用来做一些软件开发的自动化工作,如打包,测试,自动部署等。 Jenkins 中有 view 和 job 的概念, view 相当于组, job 则是具体的任务。 view...

YanWen
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部