我正在使用以下代码进行网络可用检查
public static boolean isNetworkAvailable(Context context) {
int[] networkTypes = {ConnectivityManager.TYPE_MOBILE,
ConnectivityManager.TYPE_WIFI};
try {
ConnectivityManager connectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
for (int networkType : networkTypes) {
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo != null &&
activeNetworkInfo.getType() == networkType)
return true;
}
} catch (Exception e) {
return false;
}
return false;
}
相同的代码在所有版本中都能正常运行。但我在Android Oreo 8.0中面临奇怪的问题
此方法始终在Android 8.0版本甚至网络连接中返回 false 。
设备 - Google Pixel
注意:不知道其Android版本问题或设备问题。
任何人帮助我
答案 0 :(得分:0)
00110011 01000011 00010011 10000011
创建广播接收器以进行网络状态检查
公共类NetworkChangeReceiver扩展了BroadcastReceiver {
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
}
创建静态方法并在应用程序中的任何位置使用它
公共静态布尔值isOnline(){ 返回NetworkChangeReceiver.isConnected(); }