前言

Android tv 上通常会判断当前网络是有线连接还是无线连接,那么可以通过 Android 的广播来通知网络连接状态。

源码

广播监听

import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.NetworkInfo;import android.net.ConnectivityManager;public class NetWorkReceiver extends BroadcastReceiver{    public int NET_ETHERNET = 1;    public int NET_WIFI = 2;    public int NET_NOCONNECT = 0;    @Override    public void onReceive(Context context, Intent intent) {        String action = intent.getAction();        if (action.equals(                ConnectivityManager.CONNECTIVITY_ACTION)            || action.equals(                "android.net.conn.CONNECTIVITY_CHANGE")) {            switch (isNetworkAvailable(context)) {                case 1:                    System.out.println("-----------networktest---------有线");                    break;                case 2:                    System.out.println("-----------networktest---------无线");                    break;                case 0:                    System.out.println("-----------networktest---------无网络");                    break;                default:                    break;            }        }    private int isNetworkAvailable(Context context) {        ConnectivityManager connectMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo ethNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET);        NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);        if (ethNetInfo != null && ethNetInfo.isConnected()) {            return NET_ETHERNET;        } else if (wifiNetInfo != null && wifiNetInfo.isConnected()) {            return NET_WIFI;        } else {            return NET_NOCONNECT;        }    }}

静态注册广播

在 AndroidManifest.xml中注册广播

        <receiver android:name=".WifiReceiver" android:enabled="true" android:exported="true">            <intent-filter>                <action android:name="android.net.wifi.STATE_CHANGE"/>                <action android:name="android.Net.wifi.WIFI_STATE_CHANGED"/>                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>            intent-filter>        receiver>

本文参考http://blog.csdn.net/nation_chen/article/details/15813639

更多相关文章

  1. Android 判断当前网络连接是否可用、打开设置网络界面
  2. Android 用AsyncTask下载网络图片并显示百分比
  3. Web后台和Android前端之间的网络通信
  4. Android网络操作
  5. Android 读取网络数据
  6. android webview无网络情况下的处理
  7. android客户端访问网络工具类
  8. android java 网络检测

随机推荐

  1. Android颜色全解析
  2. android aidl
  3. android AVDs mksdcard dx工具介绍
  4. 第十六讲:菜单 Android(安卓)Menu
  5. Android中widget组件的开发流程
  6. Android(安卓)Drawable Resource学习(一)、
  7. android开发1:安卓开发环境搭建(eclipse+j
  8. 硬件加速与软件加速
  9. 如何测试APK是否设置android:debuggable=
  10. Android(安卓)Intent的详细解析以及用法