Android determines whether a mobile phone is connected to IOT platform. android is connected to IOT platform.
I wrote a function to determine whether the mobile phone is connected to the Internet. However, I found that everything works normally when the mobile phone is connected to the Internet, and a crash occurs when the mobile phone is disconnected from the Internet.
First, the first response is whether the network access permission is not set in the AndroidManifest. xml file:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
If this statement is found, where is the error? My initial code is as follows:
/** Determine whether the Network is available * @ param context * @ return */public static boolean isNetworkAvailable (Context context) {ConnectivityManager cm = (ConnectivityManager) context. getSystemService (Context. CONNECTIVITY_SERVICE); return cm. getActiveNetworkInfo (). isAvailable ();}
After debugging, I found that when I disconnected the network, the NetworkInfo instance returned in cm. getActiveNetworkInfo () is a null pointer, and an error occurred when I called isAvailable. Therefore, you must judge the NetworkInfo instance.
public static boolean isNetworkAvailable(Context context) { try {ConnectivityManager manger = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manger.getActiveNetworkInfo(); //return (info!=null && info.isConnected());// if(info != null){ return info.isConnected(); }else{ return false; }} catch (Exception e) { return false;} }