2013-04-25 55 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