private IntentFilter intentFilter; private NetWorkChangReceiver netWorkChangReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); intentFilter = new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); netWorkChangReceiver = new NetWorkChangReceiver(); //注册广播 registerReceiver(netWorkChangReceiver, intentFilter); } @Override protected void onDestroy() { super.onDestroy(); //解注册 unregisterReceiver(netWorkChangReceiver); } class NetWorkChangReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //得到ConnectivityManager实例,他是系统的服务类,专门用来管理网络连接的 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //得到networkInfo的实例 NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); //调用NetworkInfo的isAvailable()方法判断当前是否有网络 if (networkInfo != null && networkInfo.isAvailable()) { Toast.makeText(MainActivity.this, "network is available", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "network is unavailable", Toast.LENGTH_SHORT).show(); } }}
ps:在功能清单上一定加上权限哦
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
网络是否可用的广播
监听网络状态变化
最新推荐文章于 2024-08-29 20:31:34 发布
本文介绍了一个简单的Android应用程序,用于监听设备的网络连接状态变化,并通过Toast消息通知用户网络是否可用。该应用使用BroadcastReceiver接收系统发出的网络变更广播。
60万+

被折叠的 条评论
为什么被折叠?



