判断数据网络是否可用

01 private boolean isDataConnectionAvailable(){
02     ConnectivityManager connMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
03     if(connMgr == null){
04         return false;
05     }
06     NetworkInfo netInfo = connMgr.getActiveNetworkInfo();
07     if(netInfo == null || !netInfo.isAvailable()){
08         return false;  
09     }
10     return true;
11 }
在 Android 系统中,判断网络是否可用可以通过以下几种常见的方法。 ### 使用 ConnectivityManager 在 Android 系统里,`ConnectivityManager` 是一个重要的系统服务,可用于获取网络连接的相关信息。以下是一个简单的示例代码: ```java import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; public class NetworkUtils { public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null && activeNetworkInfo.isConnected(); } return false; } } ``` 在这个代码中,首先获取 `ConnectivityManager` 实例,然后通过 `getActiveNetworkInfo()` 方法获取当前活动的网络信息,最后判断网络信息是否为空以及是否已连接。 ### 检查网络连接类型 除了判断网络是否连接,有时还需要检查具体的网络连接类型,如 Wi-Fi 或移动数据。以下是一个示例代码: ```java import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; public class NetworkUtils { public static boolean isWifiConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); return networkInfo != null && networkInfo.isConnected(); } return false; } public static boolean isMobileDataConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); return networkInfo != null && networkInfo.isConnected(); } return false; } } ``` 上述代码分别提供了判断 Wi-Fi 和移动数据是否连接的方法。 ### 权限要求 在 AndroidManifest.xml 文件中需要添加以下权限: ```xml <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值