检测Android设备有线网络连接状态
ConnectivityManager conn = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] networkInfo = conn.getAllNetworkInfo();
if(networkInfo != null){
for(int i=0;i<networkInfo.length;i++){
if(networkInfo[i].getType() == ConnectivityManager.TYPE_ETHERNET){
//有线网络连接成功,更新UI
}
}
}
//监听有线网络连接状态(插拔网线)
private BroadcastReceiver mEthernetReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ConnectivityManager.ACTION_ETHERNET_STATE_CHANGED)){
String state = intent.getStringExtra(ConnectivityManager.EXTRA_ETH_STATUS);
if(state.equals(ConnectivityManager.EXTRA_ETH_CONNECT)){
//网线连接成功!
}
else if(state.equals(ConnectivityManager.EXTRA_ETH_UNLINK)){
//网线断开!
}
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction(ConnectivityManager.INET_CONDITION_ACTION);
filter.addAction(ConnectivityManager.ACTION_ETHERNET_STATE_CHANGED);
filter.addAction(ConnectivityManager.ACTION_ETHERNET_DONGLE_IN);
filter.addAction(ConnectivityManager.ACTION_ETHERNET_DONGLE_OUT);
registerReceiver(mEthernetReceiver, filter);
添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
更多相关文章
- Android 的cpu 硬盘 内存 网络设置 系统信息 硬件信息
- android检测网络连接
- android NetWorkHelper 网络工具类
- android取得当前网络连接状态
- 【Android】网络状态
- android判断是否连接网络
- Android 网络操作(上传下载等)
- 【android】监听网络变化连续多个广播的问题解决
- Android开发学习笔记整理(16)-网络请求