Wrote a function to determine whether the phone is networked, but found that in the mobile phone network state of everything is normal, and when the mobile phone off the network will find a flashback.
First, the first reaction is not to set the network permissions in the Androidmanifest.xml file:
Found this statement, then where is the error, my original code is this:
/** determine if the network is available * @param context * @return * /Public Static Boolean isnetworkavailable (context context) { C5/>connectivitymanager cm = (connectivitymanager) context . Getsystemservice (context.connectivity_service); Return Cm.getactivenetworkinfo (). isavailable (); }
After debugging, I found that when I was disconnected, the Networkinfo instance I returned in Cm.getactivenetworkinfo () was a null pointer, and an error occurred when calling IsAvailable (). Therefore, the Networkinfo instance should be judged.
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;} }
Android determines if the phone is connected with an abnormal flash back