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