Android:离线时连接到服务器

时间:2013-04-25 07:48:14

标签: android android-asynctask connect

您好我正在开发一款可以连接服务器的Android App。此应用程序可以在线或离线工作。为了连接到服务器,我使用AsyncTask,它在doInBackground中是我执行所有网络操作的地方。然后,当我单击按钮时,我创建了一个新的Asynctask实例。 我想知道的是,是否有一种方法可以检查服务器是否处于活动状态以启动AsyncTask。我想过尝试和捕获,但我想知道是否有更好的解决方案

1 个答案:

答案 0 :(得分: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" />