我是Android开发的新手,正在开发一个需要手机通过Wifi、EDGE或3G连接到互联网的Android应用程序。
这是我用来检查是否有可用网络连接的代码:
public static boolean isConnected()
{
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
我也在清单文件中设置了这些权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
当启用3G连接时,此代码在运行Android 1.5版本的模拟器上正常工作,但是当我禁用3G连接时,它会崩溃。 当我调用isConnectedOrConnecting()时,我的应用程序抛出空指针异常。 在运行Android 2.1的HTC Desire上也发生了同样的事情。
希望有人知道解决方法。
提前感谢!
getActiveNetworkInfo()
的文档实际存在会有所帮助。 :-) - CommonsWare