package com.example.connectivitymanager;import android.support.v7.app.ActionBarActivity;import android.annotation.SuppressLint;import android.content.Context;import android.net.ConnectivityManager;import android.net.LinkProperties;import android.net.Network;import android.net.NetworkCapabilities;import android.net.ConnectivityManager.NetworkCallback;import android.net.NetworkInfo;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;/**<ConnectivityManager> * ConnectivityManager是一个用来查询网络状态变化的类,网络状态变化时通知应用; * ConnectivityManager实现的五点功能: * (1)管理网络连接(Wifi,GPRS等); * (2)网络状态发生变化时发送广播; * (3)当前网络断开,试图连接到其它的网络; * (4)提供API来查询粗粒度和细粒度; * (5)提供API来查询和选择数据流的网络; * * <NetworkInfo> *NetworkInfo是描述网络接口状态的类, *使用getActiveNetWorkInfo()方法法来取得代表当前网络连接的NetWorkInfo实例; *getState() //返回连接状态 *getDetailedState() //返回连接状态 *getExtraInfo() //返回连接网络名称 *getType() //返回连接网络类型编码 *getTypeName() //返回连接网络类型名字 */@SuppressLint("NewApi")public class MainActivity extends ActionBarActivity implements OnClickListener{   private ConnectivityManager manager;   private NetworkInfo netInfo;   private Button showDetailsBtn;   private EditText showEt;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //取得ConnectivityManager实例        manager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);        //取得当前网络连接实例        netInfo=manager.getActiveNetworkInfo();        showDetailsBtn=(Button)findViewById(R.id.showDetailsBtn);        showDetailsBtn.setOnClickListener(this);        showEt=(EditText)findViewById(R.id.showEt);    }    /** * 注册网络变化监听器 */    private class regNetChange extends NetworkCallback {        @Override        public void onLosing(Network network, int maxMsToLive) {//当前网络准备断开连接调用            super.onLosing(network, maxMsToLive);            Toast.makeText(getApplicationContext(), "网络断开", 1000).show();        }        @Override        public void onLost(Network network) {//当前网络掉线调用            super.onLost(network);            Toast.makeText(getApplicationContext(), "网络不可用", 1000).show();        }        @Override        public void onAvailable(Network network) {//当框架连接,并宣布新的网络投入使用调用。            super.onAvailable(network);            Toast.makeText(getApplicationContext(), "网络可用", 1000).show();        }        @Override        public void onLinkPropertiesChanged(Network network, LinkProperties linkProperties) {            super.onLinkPropertiesChanged(network, linkProperties);        }        @Override        public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {            super.onCapabilitiesChanged(network, networkCapabilities);        }    }    @Override    public void onClick(View v) {    switch (v.getId()) {    case R.id.showDetailsBtn:        if(netInfo.isAvailable()){            Toast.makeText(getApplicationContext(), "showDetailsBtn:网络可用", 1000).show();            showEt.setText(netInfo.getDetailedState().toString()+"\n\r"                    +netInfo.getExtraInfo()+"\n\r"                    +netInfo.getReason()+"\n\r"                    +netInfo.getSubtype()+"\n\r"                    +netInfo.getSubtypeName()+"\n\r"                    +netInfo.getType()+"\n\r"                    +netInfo.getTypeName()+"\n\r"                    +netInfo.getState());        }else        Toast.makeText(getApplicationContext(), "showDetailsBtn:网络不可用", 1000).show();        break;    default:        break;    }    } }

更多相关文章

  1. Android(安卓)listview--checkbox
  2. Android挂断和接听电话
  3. android(判断是否联网)
  4. Android客户端修改网页
  5. 蓝牙后台长连接 服务
  6. Android(安卓)监听手机锁屏
  7. 84 Android(安卓)Hnadler 封装下载图片工具类
  8. Android(安卓)保存和回复应用状态
  9. android 获取wifi信息

随机推荐

  1. [Android]使用ActivityGroup来切换Activi
  2. Android 操作串口 (android serial port
  3. 屏蔽电信流氓广告造成的诡异的问题--Andr
  4. 当遇到百度和谷歌都不知道的技术问题时改
  5. android 中处理崩溃异常并重启程序
  6. android获取某应用的帧数据
  7. 最佳实践-android程序安全
  8. Android中有关Handler的使用详解
  9. 基于android的智能家居之一MJPGstream
  10. Android(安卓)字体库的使用