2010-09-13 114 views
0

我检查,看看我的应用程序具有网络连接:每次创建活动时网络连接都会丢失?

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

     if (conMgr.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED 
      || conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ) { 

      return true; 

     } 
     else if (conMgr.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED 
      || conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) { 
      return false; 

     } else {return false;} 
    } 

每当我转动横向和纵向之间我的屏幕此方法返回false。这让我怀疑网络连接是否在轮换期间遇害?

回答

0

不......您的网络连接在旋转过程中不会死亡。可能的情况是,你没有保存连接状态的布尔值,所以当手机旋转时,该值将变为其默认值(false)。检查这个线程知道如何保存状态: How do I save an Android application's state?

+0

我需要保存状态吗?这个方法被调用onStart(),所以每当手机旋转,它会被调用? – 2010-09-13 19:05:38

+0

你是什么意思?你有''onStart'方法'var = isOnline()''吗? – Cristian 2010-09-13 19:51:00

+0

if(isOnline()){...} – 2010-09-13 21:46:24

相关问题