Android(安卓)程序实时监听网络变化状态
16lz
2021-12-04
public class MainActivity extends AppCompatActivity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); initReceiver(); } /** * 注册网络监听的广播 */ 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); } @Override protected void onDestroy() { super.onDestroy(); if (netReceiver != null) { unregisterReceiver(netReceiver); netReceiver = null; } } 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 联通卡 Log.d("Feeee", "有网络"); break; case 1: //wifi网络 Log.d("Feeee", "wifi"); break; case 9: //网线连接 Log.d("Feeee", "有网络"); break; } } else {// 无网络 Log.d("Feeee", "无网络"); } } } };}
更多相关文章
- Android中短信拦截解决方案
- Android(安卓)TelephonyManager类用法
- Android(安卓)-- Button [ 学习笔记 一 ] 原创
- Android(安卓)HttpClient网络通信
- android 监听开机(关机)
- android 呼入电话的监听(来电监听)
- Android(安卓)Activity的各种重载方法
- Android(安卓)- ToDoList(fragment) 详解
- Android--MediaPlayer(实现列表选歌,上一首,下一首,清空播放列表,搜