intentFilter = new IntentFilter();
首先要创建intentFilter的实例
intentFilter.addAction(“android.net.conn.CONNECTIVITY_CHANGE”);
添加action值为上面括号的广播
networkChangeRecevier = new NetworkChangeReceiver();
创建 networkChangeRecevier的实例
registerReceiver(networkChangeRecevier,intentFilter);
这里为注册广播,要调用 registerReceiver方法,将上面两个实例传入进去networkChangeRecevier会接收到值为"android.net.conn.CONNECTIVITY_CHANGE"的广播

内部类NetworkChangeReceiver
class NetworkChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(context.CONNECTIVITY_SERVICE);
//ConnectivityManager系统服务类,用于管理网络连接,获得实例
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();//需要添加权限
//得到networkinfo实例
if (networkInfo !=null && networkInfo.isAvailable()){//判断当前是否有网络
Toast.makeText(context,“network is available”, Toast.LENGTH_SHORT).show();
}
Toast.makeText(context,“network is unavailable”, Toast.LENGTH_SHORT).show();
}
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐