我是 Android 开发新手,正在开发一个 Android 应用程序,该应用程序需要手机通过 Wifi、EDGE 或 3G 连接到互联网。
这是我用来检查互联网连接是否可用的代码
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 也会发生同样的情况。
希望有人知道这个问题的解决方案。
提前致谢!
如果崩溃是directly在你的线路上:
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
那么这意味着getActiveNetworkInfo()
回null
,因为没有活动网络 - 在这种情况下,您的isConnected()
方法应该返回false
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)