0

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

4

1 回答 1

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" />
于 2013-04-25T07:54:34.260 回答