android 网卡监听,Android实时监听网络的变化
4中情況。1.無網? 2.wifi 3.移動信號 4.網線
BroadcastReceiver netReceiver =new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()) {
int type2 = networkInfo.getType();
String typeName = networkInfo.getTypeName();
tv.setText(type2+"--"+typeName);
switch (type2) {
case 0://移動 網絡 2G 3G 4G 都是一樣的 實測 mix2s 聯通卡
break;
case 1: //wifi網絡
break;
case 9: //網線連接
break;
}
} else {// 無網絡
}
}
}
};
進行注冊啟動廣播
/**
* 注冊網絡監聽的廣播
*/
private void initReceiver() {
IntentFilter timeFilter = new IntentFilter();
timeFilter.addAction("android.net.ethernet.ETHERNET_STATE_CHANGED");
timeFilter.addAction("android.net.ethernet.STATE_CHANGE");
timeFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
timeFilter.addAction("android.net.wifi.WIFI_STATE_CHANGED");
timeFilter.addAction("android.net.wifi.STATE_CHANGE");
timeFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
registerReceiver(netReceiver, timeFilter);
}
在ondestory()銷毀:
@Override
protected void onDestroy() {
super.onDestroy();
if (netReceiver != null) {
unregisterReceiver(netReceiver);
netReceiver = null;
}
}
清單權限添加
轉自博客https://blog.csdn.net/u012560369/article/details/80579029
總結
以上是生活随笔為你收集整理的android 网卡监听,Android实时监听网络的变化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html拖放数据库字段,HTML5 拖放
- 下一篇: android编程绘图,Android编