2013-04-25 60 views
0

嗨我正在開發一個可連接到服務器的Android應用程序。此應用程序可以聯機或脫機工作。爲了連接服務器,我使用了AsyncTask,它在doInBackground是我做網絡操作的地方。然後,當我點擊一個按鈕時,我創建了一個新的Asynctask實例。 我想知道的是,如果有一種方法來檢查服務器是否處於活動狀態以啓動AsyncTask。我想過嘗試和趕上,但我想知道是否有更好的解決方案Android:離線時連接服務器

+0

看看是否有互聯網連接(可用的幾個例子,只是谷歌),然後調用AsyncTask? – 2013-04-25 07:54:15

回答

3

使用此代碼段執行AsyncTask之前檢查網絡連接。

ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo netInfo = connMgr.getActiveNetworkInfo(); 

boolean isConnected = netInfo!=null && netInfo.getState()==NetworkInfo.State.CONNECTED; 

不要忘記在清單中添加權限。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
+0

非常感謝接近,它現在正在工作。 – Katherine99 2013-04-25 08:12:15