Android中监听系统网络连接打开或者关闭的实现代码

 更新时间:2013年05月09日 09:56:08   作者:  
本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍。需要的朋友参考下

很简单,所以直接看代码

复制代码 代码如下:

package xxx; 

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

复制代码 代码如下:

public class NetstateReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
        ConnectivityManager manager = (ConnectivityManager) context 
                .getSystemService(Context.CONNECTIVITY_SERVICE); 
        NetworkInfo gprs = manager 
                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
        NetworkInfo wifi = manager 
                .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
        if (!gprs.isConnected() && !wifi.isConnected()) { 
            // network closed  
        } else { 
            // network opend 

        } 
    } 



代码自定义了一个BroadcastReceiver,是想监听网络设置变化的事件。

Manifest文件里注册监听。

复制代码 代码如下:

<receiver android:name="xxx.NetstateReceiver"> 
    <intent-filter> 
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
    </intent-filter> 
</receiver> 

还需要加入权限信息。
复制代码 代码如下:

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

相关文章

  • Crashlytics Android 异常报告统计管理(详解)

    Crashlytics Android 异常报告统计管理(详解)

    下面小编就为大家带来一篇Crashlytics Android 异常报告统计管理(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Android Recyclerview实现上拉加载更多功能

    Android Recyclerview实现上拉加载更多功能

    在项目中使用列表的下拉刷新和上拉加载更多是很常见的功能。下文给大家带来了Android Recyclerview上拉加载更多功能,需要的朋友参考下吧
    2017-05-05
  • Android仿QQ空间底部菜单示例代码

    Android仿QQ空间底部菜单示例代码

    Android仿QQ空间底部菜单的Demo,发现这个Demo有很多Bug,布局用了很多神秘数字。于是研究了一下并自己写了一个与大家分享下
    2013-06-06
  • Flutter Getx中的put和lazyPut函数使用案例解析

    Flutter Getx中的put和lazyPut函数使用案例解析

    这篇文章主要为大家介绍了Flutter Getx中的put和lazyPut函数使用案例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Android Studio SVN使用方法教程

    Android Studio SVN使用方法教程

    这篇文章主要介绍了Android Studio SVN使用方法教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Android Gradle多渠道打包的实现方法

    Android Gradle多渠道打包的实现方法

    这篇文章主要介绍了Android Gradle多渠道打包的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Android中使用AsyncTask做下载进度条实例代码

    Android中使用AsyncTask做下载进度条实例代码

    这篇文章主要介绍了Android中使用AsyncTask做下载进度条实例代码的相关资料,这里附有实例代码,具有一定参考价值,需要的朋友可以参考下
    2017-01-01
  • 详解Android中接口回调、方法回调

    详解Android中接口回调、方法回调

    在Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设计模式,即观察者设计模式的的简化版。本文主要对Android中接口回调、方法回调进行详细介绍,下面跟着小编一起来看下吧
    2017-01-01
  • Android Studio 中获取屏幕宽度实例

    Android Studio 中获取屏幕宽度实例

    这篇文章主要介绍了Android Studio 中获取屏幕宽度实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android添加glide库报错Error: Failed to resolve: com.android.support:support-annotations:26.0.2的解决

    Android添加glide库报错Error: Failed to resolve: com.android.suppo

    这篇文章主要给大家介绍了关于Android添加glide库报错Error: Failed to resolve: com.android.support:support-annotations:26.0.2的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-11-11

最新评论