2010-09-13 62 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

相關問題