2011-05-15 107 views
1

我正在使用此代码来检查android应用程序的网络可用性。如果没有互联网,android应用程序崩溃

public boolean isOnline(Context ctx) { 
     ConnectivityManager conMgr = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE); 

     NetworkInfo i = conMgr.getActiveNetworkInfo(); 
      if (i == null) 
      return false; 
      if (!i.isConnected()) 
      return false; 
      if (!i.isAvailable()) 
      return false; 
      return true; 
    } 

但如果上午连接到WiFi网络,但没有互联网是网络中访问的话,我将如何检查网络不可用,其实我的应用程序崩溃,我想显示警告框,而不是崩溃的应用!

有人知道如何检查网络可用性吗?

这是错误日志:

http://licrp.dnsalias.net:8000/iteam/images/error.jpg

+0

什么是您的日志中的错误? – dmon 2011-05-15 13:11:57

+0

请认真阅读错误日志!它是由于位置监听器类 – 2011-05-15 13:30:33

+0

而发生的,我只是担心如果没有访问Internet,我的应用程序将崩溃! :(我需要这个解决方案! – 2011-05-15 13:31:16

回答

0

如果你只是想以确保您连接到WiFi和有互联网连接,你可以只Ping一个已知ADRESS,例如谷歌通常是在线:)

URL url = new URL("http://www.google.com"); 
HttpURLConnection conn= (HttpURLConnection) url.openConnection(); 
int responseCode = conn.getResponseCode(); 
//if responseCode = 200 - THEn CONN is connected 
相关问题