我已经使用Google地图创建了一个Android应用程序。现在我想检查一下互联网连接是否可用。我在谷歌搜索,最后我通过了#1解决方法:Android中检测Internet连接时的问题
boolean HaveConnectedWifi = false;
boolean HaveConnectedMobile = false;
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo)
{
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
HaveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
HaveConnectedMobile = true;
}
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
我写我的网上谷歌地图的代码,如果它返回true和离线码,如果它返回false。
我的问题是它显示互联网连接是可用的,即使它不是。我在哪里犯了一个错误?
感谢您的快速回复Sir..code当它的网络连接工作正常连接,但是当我在我的系统中关闭我的互联网时,它通过模拟器运行时在ConnectivityManager.TYPE_MOBILE中返回true。在哪里我犯了错误? – deepa 2011-06-15 12:57:59
我不确定我了解你的新问题。尝试将设备/仿真器置于飞行模式,并且都应返回false。我不认为模拟器实际上支持WIFI模式,它总是假定网络连接是MOBILE。如果你需要正确地测试,你需要在设备上进行测试,而不是仿真器。 – 2011-06-15 13:07:00
我已经在飞行模式下更改我的模拟器,并在if(ni.getType()== ConnectivityManager.TYPE_WIFI)中运行应用程序并显示空指针异常。我有一个更多的疑问,当我在手机上运行我的谷歌地图时,是否需要获取释放密钥?如果是这样,我怎么能得到释放钥匙?请详细解释。我在这个API密钥中感到困惑。 – deepa 2011-06-15 13:10:21