检测网络——Android

本文详细介绍如何在Android应用中检测网络状态。通过添加必要权限、创建BroadcastReceiver子类并重写onReceive()方法,应用程序能够监听网络变化并在网络连接断开时通知用户。

检测网络状态

  1. 添加权限。
    INTERNET 是上网用的,此处可以不添加;
    ACCESS_NETWORK_STATE 获取访问网络状态,此处必须添加。
	<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. 新建 类 继承 BroadcastReceiver,重写 onReceive()
public class XXX extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
		//获取 ConnectivityManager。这是个啥东西来? 1. ctrl + B: getSystemService();2. 往上翻,第3295行有如下描述:
		//*  <dt> {@link #CONNECTIVITY_SERVICE} ("connection")
     	//*  <dd> A {@link android.net.ConnectivityManager ConnectivityManager} for
     	//*  handling management of network connections.
        ConnectivityManager connectivityManager =
                (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                
        // 使用 ConnectivityManager     
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        boolean isConnected = networkInfo != null &&
                networkInfo.isConnectedOrConnecting();
        if (!isConnected) {
            Toast.makeText(context, "网络连接已断开!", Toast.LENGTH_SHORT).show();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值